You can use drivers to control the influence of constraints.
For my rig I have it so if I move the respective switch bone 0.25 (var * 4) units up in local space, the FK constraints are set to 0 and the IK constraints are set to 1, making it possible to switch between the two freely.