If I've got 8 hours to spend I'd much rather contribute it to something that someone else will actually benefit from.
Option A) Spend anywhere from 2 to 12 hours interviewing for a position with little to no break. While being asked to solve problems, that may very well actually be unsolvable, under the pressure of rotating team of people. And for bonus if you suffer from any sort of test taking anxiety in school you'll get to feel the blood drain from your prefrontal cortex, as your fight or flight instincts kick just enough to make sure that doing high cognitive work like programming is next to impossible.
Option B) Spend a few hours solving a hopefully interesting programming challenge at home where you're probably not wearing pants.
Anyway, over the past couple years I've steadily moved into the take home test camp. These can be tweaked such that its apparent if someone tried to google an answer and use it.
But that said, I'm not sure I want to be implementing a "challenging" project for a job that I might never get. How much time do you think someone should be expected to put into a project for a job they might not get. How about if they are interviewing at a half dozen places?