The whole point is to think loud together.
some people's brains don't work in a way that "thinking out loud together" is an effective strategy.
There are different strategies for doing pair-prog. Developers could/should change roles and not always be the same drivers/navigators, for example.
I truly think pair-prog is a great practice for all developers who aim to work effectively within a team because it encourages communication between peers and a high-quality understanding of the business domain and technical knowledge.