Difference between alveolars and alveolo-palatals in Cantonese I would like to understand the difference in distribution between the alveolar consonants s, ts, tsʰ and the alveolo-palatal consonants ɕ, tɕ, tɕʰ in Cantonese. One source told me that the postalveolars are only used before i, y, and œ and alveolars everywhere else. I listened to a few sound clips to see if this was true and I found some conflicting evidence in these examples. 

凈 [tsɪŋ]
傷 [sœːŋ]
坐 [tɕʰɔː] 

Is there any set of rules that fully describes where sound is used? Also, how much variation is there among individual speakers?
In essence, palatalisation of the alveolar fricative and affricate consonants occurs before front rounded vowels /y/, /œ/ and /ɵ/, with the effect strongest with /y/. It is weakly palatalised in front of /œ/ and /ɵ/, to much less of an extent than Mandarin Pinyin j-, q-, x-; however, there is some variation among speakers. See Matthews &amp; Yip (2014) Cantonese: A Comprehensive Grammar, page 474, as well as this article from Zee (1997).

It used to occur with the front unrounded vowel /i/ as well: see the entry of palatalization in Bauer &amp; Benedict (1997), so I'd imagine some of the older generation would preserve this form of allophony. I'm not sure if there's anything in the literature as to variation in this part of diachronic Cantonese phonology!