We did this in Skype for awhile.
The common concern at the time was "what if the candidate cheats, getting someone else to do his/her takehome for them?"
The way we responded was by conducting the in-person interview at least partially around the takehome assignment:
* What made you choose this approach?
* Can you talk about the architecture of your solution?
* What do you think about the following alternative solution?
* Where do you see potential points of weakness in your solution?
etc.
Then it becomes pretty clear if the candidate wrote the code or not.