Am I doing the right model?

I think this is going to give you the centered parameterization of the hierarchical model. You might want to rewrite to draw channel_effect_std from a standard normal and then let channel_effect = channel_sd * channel_effect_std. Whether the centered or non-centered will be more efficient will determine on the how informative the data and prior are about the parameter values—the more data and stronger prior you have, the more likely the centered parameterization is to be better.

The exponential distribution in PyMC uses a rate (inverse) scale parameterization, so the prior on your standard deviations has a mean of 1/3 and a standard deviation of 1/3 (see pymc.Exponential — PyMC 5.22.0 documentation).