It would be much more elegant to be able to rely on blocks being generated regularly at 10 minute intervals (or whatever rate is agreed upon). I believe this can be achieved with only a modest increase in bandwidth.
Simply, as the 10 minutes (or whatever) is about to elapse, hash generating computers broadcast the block they have found with the lowest hash. The other computers briefly stop to check the hash and they only broadcast their block if it has an even lower hash. At the 10 minute mark the lowest hashed block is adopted to continue the chain.
How do you get thousands of computers to agree when is the 10 minute mark?
Ideally you want the algorithm to rely on synchronized clocks as little as possible.
Another problem is that if you'd use your strategy, at every 10 minute mark the network would be swamped with a flood of candidate blocks.