each channel uses XG midiCCs for all the common controls (so just the midiCh byte changes)
accessing things like effects editing requires Sysex.
you can also set the XG parameters with Sysex. the difference is that midiCCs will always be returned to normal or initial values, whereas Sysex can be used to 'set'. can't immediately recall the extent of this, but Eric made a mapping for Novation RemoteSL a few years back (2015? if memory serves) - that isn't in the files section anymore (?). there are distinctions when addressing Pattern or Song tracks - effectively, there are 24 tracks, on the 16 midi channels: 'Song' are the main tracks, and 'Pattern' are the accompaniment tracks, if you want to think of it like that.