Yes it is important that the candidate can program and can problem solve, but its not often that individuals analyze, design, code, and test an application, you work as part of a big team.
Further, a team of egotistical coding superstars is never going to be an effective team. Dull plodders who have an attention to detail are as important as the superstar programmer. You have to have a mix.
So yes, there may be a place for coding challenges, but a good coder is not necessarily a good analyst, a good tester, or a good integration guy.
And given the above, the only tests I'd want to see are those conducted at the company where you can ask "Why that way? Why not this way? What if I needed these changes now? How would you scale that idea? How could you best document that for the testers? How could you make that easier to integrate with this?". It would be difficult to get any of that out of a coding challenge.