For Cambridge Dictionaries Online, at least, part of the answer may be to do with syllabification. First note that the transcriptions are phonological, as indicated by the slashes //, not phonetic, which would be indicated by square brackets . That means that the phonetic realization might be identical even if the phonological representation is different (for any given speaker).
The generalization seems to be that the sound is represented as a /j/ if it is in the onset of a syllable, but as /i/ elsewhere. For instance:
- pantheon: /ˈpæn.θi.ən/
- grammarian: /ɡrəˈmeə.ri.ən/
- Paralympian: /ˌpær.əˈlɪm.pi.ən/
- Italian: /ɪˈtæl.jən/ (with /-i.ən/ given as an alternative)
- minion: /ˈmɪn.jən/
- onion: /ˈʌn.jən/
- galleon: /ˈɡæl.i.ən/
- bullion: /ˈbʊl.i.ən/
- Euclidean: /juˈklɪd.i.ən/
- Syrian: /ˈsɪr.i.ən/
In the first set of words, the sound is not in the onset of the syllable, but in its nucleus. In English syllabification, the nucleus must be vocalic. In the second set, the sound is in the onset. Since in English syllable onsets must be consonantal, it has to be represented as /j/. In the third set, the /i/ is in a syllable on its own, and hence is the nucleus of the syllable.
Words with only one consonant before the /i/ or /j/ can be divided into either two syllables or three (as /ɪˈtæl.jən/ vs. /ɪˈtæl.i.ən/ shows). Words with two consonants before the sound can only be divided into three syllables with /i/ as nucleus, since English syllabification prefers to balance consonants across syllables in certain ways. So /ˈpænθ.jən/ is not a well-formed syllabification.
As for whether there is a genuine contrast between champion and million, I think there may be in some instances. I can pronounce the latter either as /ˈmɪl.i.ən/, with three syllables, or as /ˈmɪl.jən/, with two, but /ˈtʃæmp.jən/ just sounds wrong to me. YMMV, though.