I'd be interested in giving Cantabile a try some day. For one, it has a "multi-setups per song" setup built in, which I had to build an external Max/MSP MIDI router to achieve with Mainstage/others. That said, I'm INCREDIBLY happy with my MainStage setup (can't you tell?), so I have no interest in changing anytime soon, plus it would be a nightmare to shift all my patches into a new host.
PS: MainStage can do multiple midi outs and ins per track as well, you just have to select "Multitimbral" from a dropdown, and it'll pop up a window where you can select your midi routing.
In short, MainStage can be easily setup to do everything the poster has asked, and I love it for Mac. But then again, what the above poster is asking can likely be done on any VI host, since multi-controllers is pretty standard. The one design philosophy I really appreciate about MainStage in particular, though, is that when you're first setting up your project, you can build and customize your own UI from scratch that caters to your individual setup, and there's a lot of flexibility in how to do that. Even more surprising coming from Apple, as the rest of their production software I find terribly rigid and inflexible. I hate Logic and FCPX (the latter with a flaming passion), and I have to use FCPX every day for my day job. I largely got into using soft synths because I felt stifled by standard hardware workstation UI philosophies, my concern is that some hosts (particularly Ableton and traditional DAWs) only really have one way of working, and my needs are often fairly unique so I find myself fighting the interface. From the little I've heard of Cantabile, they have a similarly open-ended design architecture, but once again, I know very little.
I've never even heard of Mixcraft. I looked at their page. At first glance, it looks a little "DAW-ish" for my taste, and I'm pretty much of the opinion that I want to keep my recording/performance environments separate. (not an Ableton fan, really, at least for live performance).
My biggest beef with ALL of these is that they advertise "You can do a different split every song!". Wow, 1992 called, it wants it's new feature back. Where-as I'm more interested in, "You can do multiple SETUPS per song!". I'll often play 5-8 patches per song, with 2-3 regions per change, but while staying within the same "song" with the same text-field notes, effects, etc. None I've tried can do that out of the box (hardware or software), and it's a BIG deal for the way I like to operate. But I found with a little midi routing, you can do it in any host, but I had to write a little helper app to do the routing, and keep track of note-offs so I don't get any stuck notes. When I have some down time, I'm preparing a video tutorial on my method. But I've always been a one-board guy, if I used 3-4 boards, I probably wouldn't use splits.
Whatever you choose, I recommend you use one that loads ALL your patches into memory for an entire set. The first host I used (tiny homemade one called "Jambalaya") didn't, and I sometimes had to wait 3-8seconds between songs, and it was kind of nerve wracking. If you have a computer with a good amount of ram (16GB+), and a sizable SSD (this was a complete game changer, I can't stress this enough), you won't have any problems. I wish Apple would release a 32GB laptop because doing this eats RAM for lunch, but it's worth it, and with SSD, it caches everything quickly and I've never had any problems.