I think a helper function to deal with label switching would indeed be helpful. Something like:
trace_new = pm.synclatent(trace_old, varnames=[...], mapping={0:1,...})
where mapping kwarg is optional.
The challenge is then to find this mapping automatically. Maybe something like a kmean clustering to cluster everything together and use the label from the kmean?