"You're not familiar with the code, you haven't made the vast majority of the design decisions and it can be quite frustrating until you really understand what's going on... even for the best written (non trivial) code."
You say "best" written, but one of the things that code reviews teaches you is to write code that other people can understand more easily. Because if you don't write code that's easy to understand, your reviewer will be frustrated, and while you're not looking will put sugar in your gas tank and change your keyboard to Dvorak. Code should take much less time to review than it does to design and write - if it doesn't, then the presentation of the code is sub-standard. So I don't think you should consider code review to take two developers, it really should only be "one and a bit".
Of course reading code on your own will never be quite as easy as with the author there to explain it. But if people unfamiliar with the code (this includes the original author, a year later) are to bugfix, refactor, or add new functionality, then the code has to be readable by people who don't understand it. Learning to write legible code takes time, but applying what you've learned really isn't that costly - clear code doesn't take much longer to write than obscure code. So being forced to write code that other people can read quickly is an excellent investment, IMO.
In terms of a second POV catching errors, co-operating during programming offers similar benefits to code review, quite possibly greater. It doesn't necessarily provide the same incentives for the code to be self-explanatory. So I think everyone benefits from having their code reviewed, at least sometimes, even if it's not your main means of ensuring correctness.
Look at it another way - you say your colleagues currently write better, cleaner code when you're looking over their shoulder, but not when you're not. Reviewing their code after the fact, and giving them good feedback, is like looking over their shoulder when you aren't even in the building. And the same from them to you - I think 90% of the clarity of my own code (such as it is), comes from me looking at what I've written and thinking, "when people read this, what will they think?". I've seen the code I wrote back when I was a solo amateur programmer, and it was impenetrable. Now, even when it's a personal project, and "people" is just me, there's a certain frame of mind you get from imagining you have readers.
Anyone who's ever worked with my code, now's your chance to say that it's still impenetrable ;-)