Terry, the way I would do it in Cantabile would be for your controller keyboard to send bank/program changes to Cantabile to switch Cantabile song states (for different parts of songs), and these song states will store and recall the selected VSTi patches for you, to get the various sounds you require.
The other cool thing you can do with Cantabile 3 is to make a “rack” containing your VSTi, and store all the sounds you care about as separate rack states. Then, whenever you want to use that VSTi, just use the rack and select the sound you want from the drop-down (which will only list the sounds you ever care about actually using). These rack states can also be selected either remotely via MIDI from your controller keyboard, or recalled as song states. The great thing about this is that the complexity of the VSTi, and whatever random patch layout it has, can be hidden away in the rack.
However if you did want direct access to changing patches via program changes from the controller, you’ll be relying on whatever support the VSTi has for bank/program changes.