Hi Pano,
PyMC3 is a package with a focus on continuous models and full posterior inference. It seems like you are targeting maximum likelihood in discrete models. While PyMC3 should support that to some degree (e.g. using pm.find_MAP()) you might have better luck with e.g. https://github.com/hmmlearn/hmmlearn which was built for that purpose.
Otherwise I recommend you check out the upsides of full Bayesian inference.