I kinda don't get peer programming. Recently, I had a chance to see it in action (and even participate), though it failed to win me over. Imagine sitting alongside a fellow developer, frequently interrupting his or her train of thought.
Others assert that this might actually increase focus, as developers are less likely to stray off and log on to Facebook or whatever. Developers can learn from each other too.
Peer programming seems like something you might use to get fresh recruits up to speed. Otherwise, I feel that the constant interruptions will probably suck all the fun out of programming. There's a time and place for everything- perhaps during the design phase, consulting and brainstorming with peers would be a good option. Once that's decided though, implementation should probably be an individual thing. Let your creative juices flow and all. Plus, when coupled with code reviews, peer programming seems wholly unnecessary.
Or perhaps I'm being overly judgemental...