I think a coding test is vital... that's the first step in filtering out the ones that can talk the talk versus people that can write nice code. I had to conduct interviews for a team in another country at one stage, and I had (supposed) PhD students that couldn't write a Hello World in the language of choice. Had they have been selected just on their resumes, they would've got in easily.
Then beyond that, there are fast learners that can pick up anything given a bit of time and become the leaders in the group, then there are people that can't. Interviews I don't think will find the former.
Then at times these people will get thrown together on teams and you wonder why there's friction... because you've hired some people that aren't helpful, and the others in the team know they'll have to carry them. For expensive jobs, I think its worth taking the time to do a few rounds, provide some good coding challenges, and not to be too pedantic about things if you think the candidate has the experience to pick things up despite not having learnt the latest * framework (of which we seem to get new ones every day).