So i figured out a way that works and saves everything.
-In Layout window make 2 buttons and map them to a single footswitch (hold pedal). Type: single value for each button.
-On the channel strip that you want to 'hold' : Make a modifier preset called "holdON' (and save preset), input event: Velocity. Reassign to: Off. Bypass this Modifier.
-On your 'Lead' channel strip: Add a Modifier 'holdON' and turn it on.
-add another mapping to 'hold synth'> MIDI Controller> Sustain(64).
-In Workspace: Click first button and select 'hold synth'> Modifier> Bypass.
-Click other button and select 'Lead synth'> Bypass.
-In Workspace Click first button and click mappings in the Screen Control Inspector.
-in the 'On patch Change' box select Reset to Saved Value.
-select the same for sustain.
-Now click the Bypass tab from the mappings menu.
-Now enter Saved value: Bypassed. Button Off: Bypassed. Button On: --- . And check Invert Parameter Range box.
-Now click the second button you've created.
-Set 'On Patch Change' to: Use Preference Setting.
-Click on the Bypass tab and enter Saved Value: --- . Button On: Bypassed. Button On: --- .
I saved the channel strip settings for each synth but you may not need to.
Save your concert and try restarting Mainstage.
It worked for me! Works when changing patches as well! Hope this helps!