Can pymc3 get samples from a (not posterior) complex distribution using MCMC?

You are not using the Densitydist right, see eg: Problem model definition PyMC3