After all the work I needed to put in for the proximity sensor, this one actually went in quite smoothly. The animation uses the same rigid bind skeletal animation that the doors use. You just create a Maya animation clip on the mesh called "On" (as opposed to the "Open" that doors use) set the object type to "Switch" (which just tells the exporter to try and find a class called "Switch" to create and attach - nice and extensible to support other controller types), and bingo, you have a switch.
I toyed briefly with creating a to-scale wall switch that the player would have to walk up to and press the "Use" button; but in the end, I decided the Head Over Heels approach of just flipping the switch when something bumps in to it opened up a lot more gameplay options, so I went that way. It'd be pretty easy to add an option to the switch to disable the bump-switch behaviour if I ever want the other flavour.
Here's a bunch of grabs showing the character hitting the switch, the switch animation playing, and then the door opening. I waste lots of time (and I mean weeks) texturing things, so to keep me moving, I'm leaving these toys functional for now - and I actually quite like the nice over-sized look of them:
I'm still putting off the graphical object editing, so it still requires a quick: "connect switch.state door.open" command to hook it up.
I did briefly have the switch state changing when it was hit, rather than when the "On" animation finished, but delaying the effect of the switch until it finished moving makes the whole thing feel a lot more "solid".
Next, pressure pads.