This ties in with a larger complaint of mine, which is that there is no really good breakdown of a "multi-patch song". Sets are just folders, they don't really much much in the way of separation from the rest of the setlist. I wish one could set it up so that each Set has it's own numbering of program changes (1 goes to first patch in set, 2: second, and so on). Next/Previous is a very unsophisticated way of navigating patches in more complex songs.
In short, I just have "One patch Per song", but the individual Channel Strips are set to receive from different Midi channels. So if I have a piano(1) on the verse, and strings(2) on the chorus, I just change from midi channel 1 to 2. I can even setup complex splits and have some patches play on multiple channels, and I get to stay ALL within one self-contained patch. The only problem is that if you switch channels while a key is held down, you get a stuck note. To combat this, I wrote a little Max/MSP app (called "Channel Cycler") that controls the signal flow and understands which channel each note originated from, and delivers the noteoff on the correct channel. It took a little time setting up, but it's SO much more bulletproof than trying to jump around to different patches. I even have a foot pedal that rotates through my channels (virtual setups), and responds to Program Change commands on my board. So now I have access to up to 6 "Virtual Setups" that I create within each patch. I play with one board like I have 6!