How to rig a switch to swap a bone's parents?
Use Python expression to do that :

Let's say the switch bone change the influence when its Y location is more or less than zero.

Add a variable to the driver which is based on this location, then use its value in a scripted expression, here "var > 0" which returns the value "True" (equal to 1) if var is positive and returns "False" (equal to 0) if var is negative.



For the second driver, do the same, but with an expression "var &lt;= 0" to have the opposite values in return.
You can also choose to say "var &lt; 0" if you want that none of the parent influences the child when exactly 0.



In result :



Note : when you validate something in the second driver, Blender switch back the selection to the first driver... a little bug maybe. So beware at which one is selected in the drivers panel, all the time.