I know there are obvious advantages doing pair programming.
Knowledge is shared, instant review, you can learn new stuff from your pair and so on.
However, I do not like it. This is opposed to my way of thinking. Pair programming is very verbal. You talk about what you do all the time. This is necessary, because the other people cannot look into your head.
Yet I cannot think, code and program all at once. When I work alone, writing code is my way of thinking. I have a rough idea, write it in code knowing it is absolutely not the final solution, and then iterate over and over by writing code instead of first expressing everything verbally.
Doing this in pair programming causes lot of awkward silence and stuff like "wait for it". It just feels uncomfortable.
I prefer to work "alone" for a couple of hours and then have close feedback loops with a colleague ("Look, I wrote those x classes to do y, what do you think about my approach?" where x is a small number).