Not a very simple question, as it depends on their level of seniority/experience, and the level of management that you're providing. In my extensive experience, the team leader that actually assigns day to day tasks to the development team must be a competent programmer – if they're very good, and are good teachers/mentors, that's better, but I'd rather have an okay developer with good people skills as my team lead than a shining star who couldn't teach people to pour beer out of a boot.
If, on the other hand, you're truly at the management level, where you have multiple development teams, or multi-disciplinary teams, your actual programming skills are less important than your ability to synthesize issues and solutions into presentations and plans. Knowing the lingo, and understanding where the pieces fit, in general, is about the level that you must have – anything more than that is a bonus, so long as you have the synthesis skills.
Most challenges encountered, even in IT or engineering, are fundamentally people problems, and being able to manage people (the soft skills) is more important than technical skill.