My best technical interview was a take-home programming assignment. I could ask questions by email. After a week, I would present my work to the other programmers and they'd ask questions about why I did something a certain way.
Best interview process ever, and that company had excellent programmers and the lowest employee turnover I've ever seen.