There are several ways to switch patches in multiple keyboards/modules in a live setup. I do this for a living, so let me try and lay out a couple of ways I make this work for me.
I use a controller keyboard to send patches changes to multiple modules or other keyboards. I often use a Roland A-70, which is a 76 note controller keyboard that has four independent midi outputs. It has 8 independent midi processors onboard, which can be assigned to those four midi outs. So all 8 processors could be sent to midi out 1, for example. Each processor can be programmed to send it's own patch change, preset volume, pan, and lots of other data.
So with a controller like the A-70 you could connect up to four modules to the midi outputs and then program the patch changes into the patches in the A-70. You would change the one patch in the A-70 and it would in turn send all the relevant patch changes to the connected keyboards and modules.
I also have a couple very useful boxes made by Yamaha called the MEP4. This box is a midi processor that has one midi input and four midi outputs. It has four midi processors inside, which can again be assigned to any of the midi outputs. The nice thing about this box is that it turns *any* keyboard into a controller keyboard.
There are other boxes made by 360 Systems (Midi Patcher), Digital Music Corp. (MX-8), JL Cooper, and others. The JL Cooper box to consider is not one of the units that has faders, but the MSB+ Version 2. However, don't get any version of that box other than version 2 because the earlier versions are buggy. I've owned many midi patchbay/processors and prefer the 360 Systems for relatively simple things like assigning patch changes to multiple modules. However, overall the Yamaha MEP4 is my favorite and I've used it a lot. They go cheap on eBay, but just make sure you get one that has a manual if you go for an MEP4. Very tough to program without that, but easy with the manual for the most part.
Also, some keyboards have good master controller functions built in.
The Korg Wavestation makes an excellent controller, for example. You can send multiple patch changes on different channels, set zones, volumes, and a few other features.
The big features you need in any controller keyboard or processor box are the ability to set patch changes, volume, and keyboard zones. Any box without all three of those features is not going to be of terribly much use.
I prefer to call up patches from the keyboard. Punching buttons on a rack box does not cut it for live work if you have a lot of fast changes, which I often do. So reaching for a rack box or a control surface like a Peavey or whatever is not practical in many situations. There are several differnet ways to change patches:
From the keyboard front panel. Ideally, the keyboard will have banks of buttons that you can use to quickly call up patch changes in one or two presses. Many keyboards have keypads where you have to type in a number, like "24" for example, and then press enter. This gets old quickly, and is not useful if there are fast changes.
A way around this is to program patches into the keyboard in the order they will appear in the show. This is done quite commonly. All that is required in this case is to simply press the increment up button. Then you are at the next patch in one button press.
If I have a busy show what I like to do is program "chains". What you need for chains is a controller that allows you to create chains of patches in the order you wish to use them.
The Roland A-70 does this. It has the capability of holding ten 64 step chains. I've never used all ten on one show but I have used up three chains on a single show.
The advantage to chains is that you can put the patches into the controller's patch memory in any order you want, and then just put them in the show order later. If the show changes it becomes easy to re-order the patches. If for example you have put all the patches into your synth in the order, and then have to change that, it gets to be really hairy sometimes because you have to move a lot of patches around. Chains eliminate the need for that. You are changing the order of the pointers to the patches, not the order of the patches themselves.
What you do with chains is put the programs in order in the chain, then call up the programs by a simple increment up button press. Or, what I prefer, is to step through the show using a foot pedal to increment through the patches. So every time I want the next patch on the controller I tap the pedal switch and the keyboard pops to the next program in the chain. This is great because you can keep your hands on the keyboard.
But again, you need a controller that has chain capabilities, and not all do. The unfortunate thing is that most of the best keyboard controllers for live shows have already been made and are no longer in production. Pretty much with the exception of Kurzweil, the great controllers are a dead breed. The controllers you see now, the ones with USB, few front panel controls, few or no patch memories, are a *total* joke if you are serious about playing live. These USB controllers are strictly for use at home with a computer in my opinion. Many of them don't even really have a way to call up patches from their front panel, making them useless even with an outboard midi processor like the Yamaha MEP4.
There's more, but to sum up:
You need a midi processor capable of handling multiple patches/zones/volumes per midi channel per patch, and ideally going to multiple assignable midi outputs.
The ideal way to switch patches onstage is from the front panel of whatever you are playing, or stepping through the patch changes with a foot pedal. Reaching for any kind of outboard box adds a potential element of time and distance that is best avoided in my opinion. It also can be impractical if the show is demanding enough in terms of fast patch changes.
A controller or midi processor box that supports chaining of its patches is to be preferred. Chaining patches makes performing a show a lot smoother in my opinion.
This turned out to be a long post, hope some of this helps.