Are the 3 spindles all on the same Z axis, with the individual spindles raised/lowered pneumatically? If so, then you can write a toolchange macro to turn outputs on/off to switch between spindles, and set up work offsets for the locations. You could use G54 for T1, G55 for T2, G56 for T3.
If each spindle is it's own axis, then use the swap axis command in your macro, but still use the offsets.