I love 3.x multiclassing, and I'd argue it lets you do everything you ever wanted with your multiclass character. Here's some musings on the why:
In my first ever 3E campaign, one of the PCs went through a crisis and, mastering it, found his faith. He was a Fighter/Barbarian beforehand, but picked up three levels of Cleric before the campaign ended. "How awesome that you can simply do that" was our thought at the time. Sure, it wasn't completely optimized, and the PCs' nemesis (a single-classed Cleric) repeatedly kicked their butt. But it totally transported the feeling of a late career choice which had some small immediate mechanical perks (magic item use, mostly) and fitted the story extremely well. Also, picking up Cleric levels mid-campaign is easily justifiable; we had a bishop come in and perform an anointing ritual, and after that, Ilmater listened to the PC to a degree.
3.x also supported role switches through prestige classes - to a degree. Note that some PrCs let you do really outlandish stuff that you couldn't do before, resulting in new party roles. PrCs might grant their own spellcasting (from the lowly Assassin to the almighty Ur-Priest - both of which were used in campaigns I DMed), or they might give you other "out there" abilities (like the Bear Warrior turning you into a fricken bear, cue Master of Many Forms and Warshaper... again, this happened in one of my campaigns).
Toward the middle of the 3.x life cycle, several mechanics received much-needed reinforcement which made multiclassing even better usable and more generally applicable. The first step in the right direction was the introduction of dual-progression PrCs, which, although rarely optimal, still hold their own rather nicely in a "normal" adventuring party. Theurges which combine other pseudo-casting mechanics also fall into this category: Eldritch Disciple, Anima Mage, Noctumancer...
Another issue with the quadratic spellcasting issue was partially solved by certain PrCs which grant fast-progression spellcasting, allowing you to pick up non-irrelevant spellcasting later in your career: Ur-Priest is notoriously OP, Blighter the opposite, but both followed what I'd argue was a very good idea. Other examples are Divine Crusader, Sublime Chord, Suel Arcanamach, Knight of the Weave, Nentyar Hunter - some of them extremely focused (read: limited), but still, the basic idea is good, and toward the end of 3.x, there was enough stuff out there that you could basically build whatever you wanted.
In the late 3.x products, multiclassing-friendliness became a built-in part of a lot of class design. For example, Duskblades can channel not only Duskblade spells, but whatever spells they happen to know, while staying focused and useful through at least 13 levels on their own. The best example, though, is the maneuver mechanic from Tome of Battle. If you pick up your first Swordsage level at 1st level, you're gonna be a level-appropriate threat through your low-level maneuvers. But if you first learn other stuff and only get to be a Swordsage later on, your former experience as an adventurer still pays off, letting you learn Swordsage tricks more quickly: half your levels in other classes count toward your total initiator level, so you can pick higher-level maneuvers from the start. Few maneuvers have no prerequisites, though, so you can only pick few high-level maneuvers, and you need to pick their lower-level prereqs, as well. This is actually nicely balanced, while still allowing you to learn something new that isn't utterly useless at the level.
[sblock=tangent]This mechanic is actually very similar to [MENTION=22953]SteelDragon[/MENTION]'s earlier suggestion concerning Fighter/Wizards. You could adapt the initiator level mechanic to spellcasting, if you wanted. Imagine being a 10th level Fighter who picks a level in Wizard next. If you adapted the maneuver mechanic to spellcasting, you would end up with a Fighter 10/Wizard 1, whose caster level would be 6th (half your 10 Fighter levels plus your one Wizard level), and you'd be eligible to cast 3rd level Wizard spells (as a 6th level Wizard would). However, you'd only gain 3+Int bonus spells known, and you'd have to pick one or more 1st and 2nd level spells, if you want 3rd level spell access now. Spells normally don't have prerequisites of lower-level spells known, of course, but it'd be easy to come up with something. For example, you might want to stipulate that you need to know 2 spells of level X to be able to learn any spells of level X+1.
Since martial maneuvers basically just grant you more fighting tricks, something which a 10th level Fighter has been cultivating anyway, this system might seem more palatable if it's restricted to maneuvers instead of expanded to include spellcasting. But mechanically, I think it's sound. Your new-learned tricks (be they martial maneuvers, spellcasting, vestige binding, invocations...) function at least near to relevant power levels, instead of being of little use mechanically. A 11th level PC who casts 1st level spells in combat is basically wasting his actions, while 3rd level spells might just be useful still. Something to consider, maybe.
[/sblock]
Finally, feats. Especially multiclass feats like Daring Outlaw, Swift Hunter, or Ascetic Stalker. Feats (potentially) allow you to strengthen a secondary role that you picked up later, or to build for multiclass from the start. Some feats, like Improved Toughness or Steadfast Determination, can be good for anybody, but especially help overcome drawbacks of multiclassing (while strictly remaining in the "not too great" category). Others can turn a dip into a powerful asset, like the Divine and Devotion feats, or can meld two different classes' strengths, like Arcane Strike. Still others allow you to "buy back" some of what you lost in one class by multiclassing, like Practiced Spellcaster, Nature's Bond, and the "Extra X" (Music/Rage/Smiting...) feats.
Sure, some things could have been better implemented. Dipping isn't really stylish IMO, and many classes have obviously not been designed with multiclassing in mind. Many of the best ideas (fast-progression casting PrCs, dual-casting PrCs, maneuvers) have been pursued half-heartedly at best. Some feats might be considered a "feat tax". But all in all, I think 3.x did it best.