I've had the same experience with pair programming: when done with someone you get along very well with, and with the same goal in mind, one or the other of you might get stuck but rarely both at the same time. (And on those rare occasions, observing that we were both stuck was a good sign to more quickly treat it as a problem requiring deep thought, rather than staring at a screen for a while.)
I completely agree. Pair programming was mentally exhausting for me (4 sessions per day of 90 minutes), but we were almost constantly productive. When we both got stuck, that's when we would pair swap. It was the best job I've had so far, but it was exhausting. I stayed focused on the task at hand for the entire day. At the end of the day, however, I had absolutely no desire to work on side projects or learn something new. I was spent.
I don't do pair programming at work; when I did pair programming, it was with a friend for various side projects, and we'd do it for a 12+ hour day (broken up by a couple of meals. It was exhausting in a good way: it felt maximally productive, as well as exhilarating.
I had the same experience working for a company that did pair programming 100% of the time. Very productive but exhausting, and in my mind, not sustainable.