I was awful at the matchup until I started doing Blade's swarmhost hydra viper build. The entire matchup revolves around being able to kill P's huge push with 3-4 colossus around 15 minutes, at least on ladder. The basic idea of the build is: gasless 3 hatch, lair at 7:30, scout to make sure P isn't opening with gateway aggression, make hydra den and infestor pit when lair finishes, make 10 hydra to chase away the phoenix/void, start making swarmhost and take a 4th, then just start your hive at 12:30, and you'll 13 swarmhosts, lots of hydra and 3 or 4 vipers out and charged in time to pull the colossus and win the fight. It's actually pretty good against air heavy compositions too.
http://www.youtube.com/user/blade55555?feature=watch
Look for some of the ZvP tutorials on his youtube page.