It has been my experience that if all other things are equal, working together beats working remotely.
Of course, if you are a young startup and you have a choice between an ok hire working locally and a star working remotely, all other things are not equal.
Some companies would always take the local guy. Some would hire stars wherever they find them. Some would hire neither and wait for a local star. I certainly can't generalize about which strategy is the best.
There's a lot to be said about working in the same location. I never bought into the 37Signals school of thought that location doesn't matter, and can hamper productivity by way of interruptions.
"Star employee" is a term with plenty of history and a meaning most people grasp. "Rock star" is another thing entirely, and not what I think of when hiring programmers. I also don't think of hires as prestidigitators or thaumaturges, even when using the term "magic" to describe technology.
Of course, if you are a young startup and you have a choice between an ok hire working locally and a star working remotely, all other things are not equal.
Some companies would always take the local guy. Some would hire stars wherever they find them. Some would hire neither and wait for a local star. I certainly can't generalize about which strategy is the best.