I'm still pretty new to mining only been mining for a month or so and I've tried quite a few pools. I finally settled on coinotron and burnsides pool. I distribute my workers/hashing equally among the two. Seems to me that distributing your hashing between at least two pools is a smart move since every pool I've tried so far has had issues of one sort or another. Its sucks waking up in the morning finding out your workers have been sitting idle for the past 7 hours because the pool is down. I'm sure there are ways to set your workers to switch to a backup pool if the primary pool goes down but I haven't figured out how yet.
Use cgminer, it has pool failover