TL;DR:
The difference between the two pairs is substantial.
Native speakers intuitively use phones so not to get trapped into the adjacent phoneme.
The differences between [ʃ ʒ]
and [ʂ ʐ]
are pretty much noticeable. To give you a taste, check this YouTube video. It is spoken mainly in Ukrainian, and there are several [ʃ]
, like in пішов ("went") (time tag 0:03, 0:12, 0:15, and so on). It also has Russian phrase at the end which contains шесть ("six") (time tag 2:04).
The Russian [ʂ ʐ]
can stretch to its extreme. Normally, while the tongue is retracted, it is not curled backward, and the primary articulator is the front of the blade of the tongue. However, some speakers take it to extreme, their tongue is curled back so that the underside of the tongue acts as the primary articulator. Ludmila Berlinskaya is known for her extreme [ʂ ʐ]
; check these two songs she performed: YouTube video one, two.
I'm not aware about such phenomenon in Ukrainian.
I don't have a corpus of words spoken in both languages, but check how Google Translate pronounces words like шишка, шашки, шершень ("cone, checkers, hornet") or жолудь, жарко ("oaknut, hot") in both languages. To me, the difference is evident, meaning that I can tell the language by hearing the sound.
Daresay, all Ukrainian Shibboleth words are based on fricatives and/or palatalized consonants.
It is also worth noting that Eastern dialects of Ukrainian underwent a heavy influence of forced russification, so many people — even bilingual speakers — would not see any difference between the phonemes in question.
Now we get to bilingual speakers.
We should keep in mind that people speak phones, not phonemes. A listener would "map" a phone they heard to a particular phoneme of the language. When we speak, our goal is not to produce an ideal phone; the only thing we need is to make sure that the listener mapped it the way we intended.
In both languages, phones undergo weakening, especially in rapid colloquial speech. You intuitively feel the margin where to stop.
In other words, when you speak Russian, in the range [ ɕ ʃ ʂ ]
, anything reasonably above the [ɕ]
would be perceived as [ʂ]
, while in Ukrainian the same phone would map to [ʃ]
.
The same applies to the range of [ ʑ ʒ ʐ ]
.