It seems to me that this approach is calculating the relative data likelihoods in a roundabout way. That is, you specify some model P(data | params)P(params), and are relying on the speed of sampling to tell you about the relative values of P(data).
Alternatively, you could sample from the priors of the models and calculate the average data likelihood. I suspect that would tell you the same thing.