I've been saying for about 5 years now that they should be dropped completely, that they are the worst design decision in 3rd edition, that they never fulfilled the design goals Monte set for them and in fact do the opposite, that there is nothing that prestige classes do that couldn't be done better by a more robust feat tree (and possible making feats slightly more common), and that they have a net negative impact on the game. But, even though all of that is true, PrC's appeal to a fairly broad swathe of the customer base and always will, precisely because certain players find the idea of 'special power' and 'more poweful' exciting. Now that the genie is out of the bag, it can't easily be put back in and in practice never will be (much like critical hits and fighter weapon specialization, the best you can do is minimize the problems they create.)
The way to minimize the problems PrC's create is to mimimize the difference between a PrC and a base class until the attraction of a PrC begins to go away except when the PrC is fulfilling the original design goal of adding more flavor (rather than less as in practice they do now) to the process of character development.
If you don't think that PrC's should be balanced with base classes, then answer this question for me.
Suppose I'm a DM and I have two groups going through the same module in parallel. One group has stuck to base classes. The other group has loaded up on PrC's. Both groups defeat the same encounter. If PrC's are 'better' than base classes shouldn't I award less experience to the party with PrC's since the challenge of the encounter was effectively less for them than for the party using nothing but base classes? In other words, if PrC's are better than base classes, don't they effectively increase the character level of the party at some point, so that a party of 12th level characters using PrC's is as strong as a party not using PrC's that is 13th or even 14th level?
How do I handle that? How do I balance a module for play? Should I treat every 4 levels of a PrC as 5 levels of base class? Or what? How will we ensure that all the innumerable PrCs are balanced against each other, as they most obviously are not (as demonstrated by the fact that the same ones turn up over and over again)?