In moderation it's great
Sometimes pair programming is way better. We do a thing in the office where you just call anyone over for a bit of shoulder surfing when you know you're in something finicky and you need a second set of eyes. Everyone's motivated, the backup guy gets to learn a little more about another part of the codebase, they often will catch something, productivity is had.
But like so much else in Exxxtr33333m3!1! Programming they turned it into this stupid religious thing where if it's good in small doses then it must be even better 24/7 and we'll make it a Commandment.
We tried full days for a bit (why not?) and found productivity and motivation were lowered overall. There's nothing like sitting there watching someone else do tedious boilerplate shit and telling him when he typoes (because you're so bored), and there's really nothing like having some a@#hole telling you every time you typo before you can correct it. Or well, it's 5 PM, I was going to stay a little longer and try to get this feature done, but OH WELL I GUESS NOT. You're taking two productive guys and getting maybe 1.2 guys out of it.
Also, it should be perfectly legal to strangle someone to death who doesn't know the keyboard shortcuts for a program they use every single day.
Anyhow, do it when you think it'll help and it'll be an amazing experience - or you can turn it into a tedious counterproductive chore by making it mandatory.