The problem with whiteboards, is they're not reflective of real life. When was the last time you can honestly say you used a whiteboard to solve a programming problem instead of Googling and ending at a StackOverflow question with a great answer? I've never used a whiteboard for programming. I've used plenty of whiteboards for things one level back; planning, prioritising and visualising task related things. The real…
Whenever I've had a whiteboard programming interview, it's always been a trivial problem that's a smoke test for "can this candidate actually write code or is their CV faked". I think it took somewhere between 5 to 15 minutes, which I consider to be rather well spent time compared to spending hours or days on a take home project or anything bigger.
The only time I've been given a take-home assignment I refused to do it because I was extremely busy at that time (finals at uni). The employer gave me an offer anyway. Someone else made a better offer, though (based on a whiteboard session).
The whiteboard is not a good way to assess the level of programming skill of an individual. But it's a good binary indicator of whether they possess any coding skills. If the result is yes and their resume is good, experience is relevant and maybe there's some GitHub or other code they can share, that should be enough to consider a person to be an able programmer.
Like any tool, the whiteboard can be misused. The task should be rather trivial and the time should be short. The purpose should be to weed out the people who have faked their resumes or are applying to programming jobs even though their talent is something entirely different.