It works with 2 if you’re referring to what I think you’re referring to. The above example is multivariate. z is 500x3. If you mean adding another dimension, then I think it would still work. You would correlate within each dimension and then aggregate over the correlation coefficients in some way? Maybe they’d all have to be correlated in order to be able to swap the variables?
Didn’t think about mid-chain. That’s definitely a harder problem, because you have to decide where to cut and I imagine there’d be a fuzzy boundary as the sampler wonders between.
If they’re jumping within the chain, though, then that’s a bigger problem, because you would never really be able to tell whether two dimensions were distinct, or whether they were both the average of some other two latent variables that the sampler was stuck between. Could you two distinguish the following two cases: 1) two very different latent dimensions jump back and forth frequently and 2) two latent dimensions have similar means and higher variance.