Glad you enjoy the post !
Sounds like you have a latent discrete parameter in your model, in general, you should first try to marginalized it (see e.g., Frequently Asked Questions - #15 by junpenglao for how to do that). With that, all the latent parameter in your model is continuous, you can then use Bridge Sampling
As for the error in SMC, are you on the pymc v3 (current release) or pymc v4 (beta)? It might work better in pymc v4 as the forward sampling is much better.