For teaching Latin, the Classical pronunciation, representing the height of the Classical period (50 B.C.-A.D. 50), is preferred. For chant and religious services, the Italianate (after modern Italian) is generally preferred, though not universally. The Austro-Germanic (after modern German), for example, is frequently heard on recordings from Germanic countries.
These are not competing theories, by the way. There is no question that the Italianate represents a much later period than the Classical. It does work better for mediaeval hymns, which would not rhyme in the Classical pronunciation. An argument could be made that the Classical more accurately represents the pronunciation in the time of Christ than the Italianate, which represents a pronunciation at least a millennium later.
Personally, I tend to err on the side of received pronunciation rather than scientific theory. If ecclesiastical Latin is what the Church has used for centuries, then who are we to say that classical Latin is better?