My approach to this has been to use two amp blocks (in the same preset), one set to clean and the other set to medium-light gain. I'll then use a single drive block, and use its X/Y state to add a heavier rhythm and lead gains. That gives me 4 "channels", one clean and three dirty. (More really, but I don't want to overly complicate what I'm describing next.) I like the idea of keeping my clean amp and dirty amp separate, and choosing the "perfect" clean and dirty amp models.
Now - It might sound complicated, the way I then switch between the two amps, but it's pretty straightforward once you get your head around it. It also leads to a very clean and fast switch between amps with no X/Y dropout. The amps are run in parallel. What you do is use a pair of volume blocks, one in front of each amp. A single IA switch controls the bypass state of VOL1 and VOL2 (by setting VOL2's bypass to the same CC number). You then set the volume of VOL1 block to '10' and VOL2 to '0', and you set the bypass type to 'mute' on VOL1, and 'through' on VOL2. When the blocks are 'on' VOL1 passes signal, VOL2 passes no signal ('0'). When the blocks are bypassed, VOL1 is mute, VOL2 is 'through'. I know, seems complicated, but it's not really. Essentially you're creating an A/B switch with the two VOL blocks.
One advantage is that you can now have two separate signal sub-chains with different blocks in those chains and switch between all of them instantly, by way of this "A/B switch". For example, you might put a compressor in front of your clean amp, or maybe a chorus block after it. Or maybe a different cab after each amp? You can then join the signal back up so they share the rest of your effects chain, or keep them separate all the way to the end of the grid. It allows you to push one button and go from clean to whatever dirt level you've set. It also plays very well with scenes, since that single IA switch can be controlled per-scene.
From the standpoint of the MFC-101, I have one switch that changes between my clean and dirty amp, one switch that's drive pedal on/off, and a third that controls X/Y of the drive block. I only use 4 gain levels, but it can actually give you 6 different combinations, if you put the drive block before the VOL blocks.
Personally I find this better than using scene controllers since it's easier to make global changes. If scenes 2,3,4 have drive 1 on in X state and I want to change the drive level I only have to change it in the drive block, not change the scene modifier for three scenes. In fact, I want it to change on all my presets, since I want a globally constant core guitar sound. The two amps I use and the drive block are global blocks because of my desire to have a consistent sound. I definitely use scene controllers for reverb and delay parameters, but not with gain settings.