I had a CAL script to do this at one point, but it stopped working in Sonar 8.
For real hardware MIDI devices I have to do it as you describe, solo'ing and recording them track by track.
For VST's however, you should be able to use the Freeze combined with solo'ing which is a lot quicker:
1. Solo a MIDI track
2. Freeze the synth track
3. Create a new audio track
4. Copy the frozen audio over to the audio track
5. Unfreeze your original synth track
... repeat for each MIDI channel.
Personally I now avoid having VST synths being serviced by more than one MIDI track, and prefer separate instrument tracks. Although it has a higher load on memory and CPU, it's much easier to treat them separately and also much easier to swap out different VST's for single tracks.