Rain seems to clean outside-light tiles only. At least in my experience, it doesn't seem to touch outside-light tiles that have /ever/ been inside, which means that any enclosed external part of the fortress, or any underground light-plant farms are never going to get rain-cleaned. And on maps where it snows instead of rains, you don't even get that.
I usually use magma or dirt roads to clean. Magma is annoying, since I basically have to seal myself off from half of my own fort, pump it full of magma, and wait for it to drain, before I can get back to normal operations. But building dirt roads (or other structures and then deconstructing them) is even more annoying, in general, imo.
For dark-inside cleaning, dwarves to seem to get to it, but only if they've got a lot of idle time and are in the area. Since I switched to zone-based Meeting areas (instead of table- or well-based), so there are no Parties by idle dwarves, I've had a lot of success getting areas cleaned. Simply designate (another) meeting area near the mess, and with 10-20 idle dwarves pacing around between that new meeting zone and any others you have, it should generally get cleaned up within a few ingame days.
I've tried various automated shower systems and the like, but they generally just make an enormous mess rather than actually help the situation. I've tried several of my 40d magma traps (where a brief touch of magma was usually fatal; the same traps are nigh-useless in 31.x, since the magma contact is so brief) run using water instead, and it does clean the dwarves/pets off ... but it generates enough 'stuff that just got cleaned off the dwarf' piles, combined with not hitting 100% of the creatures the walk through, that they wind up just spreading the contaminants around to more and more creatures and areas instead of less. In one fort, I'd just freshly done a full magma-bath, cleansing a decade of grime out of the fortress, and then activated my shower system ... in less than a month, the contaminant problem was /worse/ than before I'd done the magma bath ><
Contaminants are annoying. They're the only part of 31.x that really bugs me.