I dig Vancian magic I think it makes sense, has a lot of flavor, and makes it pretty easy to handle magic. It also admits a lot of variations. 3e by default has a bit (compare wizard, sorcerer, and cleric), and a lot of later D&D 3e products were good about this. Reserve feats (as long as you have spell X prepared, you can create magic effect Y at will) are a pretty simple variation; Tome of Battle, Tome of Magic gave you some weirder ones. Even psionics, as implemented in 3e, is pretty much just Vancian magic with a different economy of slots.
My personal favorite is what Monte Cook did with the standard Vancian system in Arcana Evolved. A lot of little changes that really showed how you can stretch D&D's magic. One of the biggest is that all casters, instead of being divided into prepared and improvised casters, are a sort of hybrid of the two. Everyone has access to their full spell list at all times. (And everyone uses the same master spell list; depending on your class and your feat selection, each individual caster has access to specific parts of it.) You "ready" a certain number of spells at the beginning of the day, and then use your spell slots to cast those spells in any combination you like. Since you can also use one spell slot to cast several spells of a lower level, or several slots of a lower level to cast one spell of a higher level, casters have a lot more flexibility in their what they can do each day than is normal in 3e D&D.
Granted, this ups the complexity level of running a caster a lot. When I was running Arcana Evolved, my casters made printouts of different spell load-outs for different kinds of situations, because otherwise what you're doing is basically building a sorcerer fresh at the start of every session. It's not a system I'd recommend for DIY D&D except maybe for high level play. It gets worse when you consider that daily spell selection really only scratches the surface of the new complexity in Arcana Evolved; with three versions of every spell (one at, one a step above, and one a step below the level of the spell) and a bunch of feats that let you modify spells in various ways, there are a lot more decisions to make when building and playing a caster than in vanilla 3e D&D.
Decisions are good. One of the things that I admire about D&D magic is that there are a lot of decisions, they're all pretty meaningful decisions, and for the most part they're also avoidable decisions. In early D&D this is pretty simple. Play a caster or no? Which of two spell sets do you want access to? Accumulating the spells themselves involves a whole series of little decisions and challenges, and actually preparing spells each day gives a consistent and not-overwhelming suite of decisions to make. Then there's casting the spells, and you can get into a lot of creativity there, but most of the strategy is pre-loaded. Your success as a caster revolves around what kinds of situations your experience allows you to anticipate, and your ability to react when your plans go awry.
One of the things I like about later editions of D&D, though, is the way that the more complex spellcaster ecosystem lets you fine tune where you want your strategy, and how much of it you want. In 3e, there are three big spell suites and a secondary one (divine, natural, arcane, and bard) to choose from, and a couple different levels of involvement in each. If you want, you can simplify your choices at-the-table by front-loading them into your build, by playing a sorcerer (or a bard). Playing a cleric is in a lot of ways similar, because if you screw up your spell selection, or if an educated risk in a situational spell choice goes awry, you can always default to a Cure.
Of course, 3e D&D also ramps up the total decisions you have to make a lot, which is kind of a double edged sword. Most of these you're going to make away from the table: Feats and caster special abilities mostly impact character creation and leveling, and the vastly expanded spell list is mostly something dealt with when winnowing your selections for your spellbook or spells known. No matter what class you're running, though, you're going to have more spells to cast, and that does increase the complexity of at the table strategy.
Changing the complexity level of the available decisions, and changing where those decisions get made, is the big thing that you're doing when you start messing around with the D&D spells system. You have a lot of leeway to do that with D&D and Vancian casting in general, because you don't just have a lot of decisions, in the sense that you have a long spell list. The decisions come in chunks. Character creation. Ongoing spell selection. Daily spell preparation. Casting during the encounter.
I really think that's the strength of the D&D spell system. There's a satisfying level of complexity and available strategy, but it's not overwhelming, because you don't have to deal with it all at once. There are a lot of ways to scale it up and down to fit your individual group's preferences, both at the system modification level, and as they make their characters. For a game that's often about the pleasures of logistic strategy gone horribly, horribly awry, that's a pretty good thing.