I guess it’s a question of preference. For more complex models like pymc-marketing they go that route: pymc-marketing/pymc_marketing/mmm/mmm.py at f334980ecf66c28fa796ced52e75bf5005fdceb2 · pymc-labs/pymc-marketing · GitHub
I personally feel it makes it inscrutable. For me PyMC already has the right level of abstraction, just sprinkled sometimes with a helper to make the non-centered parametrization of a hierarchical prior.
It may also have to do with how complex the models one works with are.