I use patch changes evens in projects all the time. Mind you , this is with MIDI only projects.
But for vsts, you have hit the nail on the head.
You would save on CPU cycles, especially on some of these CPU hungry VSTs (Yes, Meldaproduction's mPowersynth, I'm looking at you). However, issuing patch changes would only make sense with physically modelled synths, as they tend to change patches on a dime. Not so much with sample based synths - they take a while for the patch to load and for the actual sound to become available (Certain Sonivox synths suffer this issue). Unless you issue the patch change command well in advance of hitting that note, you would be better of having multiple instances. It really depends on the synth.
Some effects can change presets by sending patch change commands to the VST's MIDI in (VST2 versions of Meldaproduction effects can do this, for example). Of course, you would have to have a separate track just for the patch changes.
So having just one instance of an effect but issuing patch change commands can save memory and CPU usage.
It really depends on the layout of your project that determines whether to use patch changes or multiple instances.