I find a flaw in your reasoning sir, you are making a rather large assumption that in pair programming both the participants must have same set of skills. Its rather the opposite I think, they must actually have mutually exclusive skill sets. Like one should have a problem solving mind(navigator) and the other should have a solution implementing mind (driver). Thus if they both work parallel they would actually take more time in solving the same problem rather than if they work in series. For an example if I want to make bio informatics program I would rather be a driver and code and have a navigator who has skills in the other parts of the program.