As TKR's answer says, the consensus seems to be in favor of reconstructing all intervocalic "s" in Classical Latin as voiceless [s].
With regard to Church pronunciation/"ecclesiastical" pronunciation/sung Latin, I haven't found a clear, established consensus. (Which is not unusual, in my experience—"ecclesiastical" Latin is not really a single standard since it is pretty much based on Italian pronunciation, which itself varies between different locations, and many people using this pronunciation nowadays aren't native Italian speakers. It's hard to find good resources giving detailed decriptions of Ecclesiastical Latin pronunciation, as opposed to impressionistic stuff intended to allow singers to get it approximately right. I also haven't found consensus about the height of "e", "ae/æ", and "oe/œ" as /e/ vs. /ɛ/ in this variety of Latin.)
Some sources say things like "never z as in raise" (SUNG ECCLESIASTICAL LATIN (ROMAN) PRONUNCIATION GUIDE).
But it seems like some people do use /z/ for at least some intervocalic "s", and maybe /gz/ for at least some intervocalic "x", in sung Latin, as you have noticed. See the following thread on the Latin Discussion forum: Church-type pronunciation. Also see the following document which uses the wishy-washy description "when it comes between two
vowels, it is closer to the sound of 'z' but softer, like the 's' in 'misery' " (Latin Pronunciation Guide). If we're talking about a native English pronunciation of "misery", that's what an English speaker would just call /z/.
"Ecclesiastical Latin", by Andrew Crow (Chapter 4, The Use of the International Phonetic Alphabet in the Choral Rehearsal, edited by Duane Richard Karna) even describes the following odd pattern of usage:
s is never voiced. That is, [s] not [z]
Some sources make an exception for borrowed words—especially Jesu as [jɛ zu] rather than [jɛ su]. Either version is acceptable in this case. (p. 40)
I don't know if a native Italian speaker would instinctively pronounce all intervocalic "s" in Latin as /z/. I know that in some varieties of Italian—including the one that is as far as I know most often regarded as being "standard"—intervocalic single "s" can actually correspond to either voiceless /s/ or voiced /z/ depending on some complicated factors, and there is a fair amount of variability in contemporary Italian accents. Wikipedia's "Italian Phonology" article says
[s] and [z] [...] can only contrast between two vowels within a word. According to Canepari,[16] though, the traditional standard has been replaced by a modern neutral pronunciation which always prefers /z/ when intervocalic, except when the intervocalic s is the initial sound of a word, if the compound is still felt as such: for example, presento /preˈsɛnto/[17] ('I foresee', with pre meaning 'before' and sento meaning 'I see') vs presento /preˈzɛnto/[18] ('I present'). There are many words in which dictionaries now indicate that both pronunciations with /z/ and with /s/ are acceptable. The two phonemes have merged in many regional varieties of Italian, either into /z/ (Northern-Central) or /s/ (Southern-Central). Geminate /ss/ can be pronounced as single [s].
Another related discussion thread: Latin: S or Z between two vowels?, on Choral Net, which provides some more examples of equivocal descriptions like "Not "z" nor "s", blend the sound" and "a z-ish s". Apparently, this wishy-washiness is present in some edition of the Liber usualis.