I'm a big fan of P2Pool, run my own node and have been mining it for quite many months.
However, lately we've crossed the 3-day threshold for blocks (3 times in the past 2 weeks), which means work is being wasted as after 3 days shares in the chain start to fall off.
I've been splitting my hash between BTCGuild and P2Pool for the past month. Take away the recent variance issues and P2Pool has out-earned it by a good margin. Recently though BTC guild has caught up and surpassed with these few days without a block on P2Pool.
I'm heavily considering switching at least the workers over form BTCGuild to CKPool. At the least, the fees are less on CKPool and I'm for sure liking the fact that it's run by the core cgminer DEVs so it's quite trustable as well (no knock on the other pools). It's much harder for me to move from P2Pool even with the variance, but if there's many more stretches which go for 3+ days without a block I don't think there's much choice.
The long dry spells are all part of it. Over the long haul it should all even out, so it really comes down to pool fees and trust of the pool OP. BTCGuild and CKPool are both very trustworthy pools. (I have mined at both in the past but of these two I only mine at CKPool now)