This isn't unique to Google; in fact, every serious tech company I've ever worked at or consulted with has this same policy. It's obvious and makes sense. Does it always work? Unfortunately, no...
Sure, I didn't mean to imply it was, or that it necessarily always worked, it's just the example I have some limited experience with (or really, just hearing a first hand experience of).
I can imagine some downsides right now, such as employee burnout (since there's going to be some extra responsibilities as you attempt to do your old job and a new one at the same time), and the fact that this time perior, while somewhat long, may still not be nearly long enough to accurately gauge how a person will react in many common scenarios in the new position.