If the pools all use Stratum, you could run a Stratum proxy on a central server. Then whenver you want to move, just restart the proxy with a new pool address. The miners should reconnect and now start sending work at the new pool. You'll get a few rejects due to the miners submitting work from the prior server, but it shouldn't last very long.
Won't the login name/password and format have to the be the same on all the pools?
EG: Some pools expect icebreaker.1 and some expect icebreaker_1.
Here's a hack I've considered using to get around this problem: when you want to disable a pool, log in to that pool and change your worker password. Then the miners can't connect so they'll move down to the next one. To re-enable it, change the password back to the one set in your miners.
It would be nice if cgminer could change between scrypt to sha pools without restarting. But Con might finally lose it and flip out if I requested that feature....