I'm not a teacher, but I was for a long time a professional student, and a grad student, so I have taught many, many classes. I excel at lecture style classes, but that's because I'm a funny person and entertaining enough so that people generally don't get bored.
HOWEVER, over the years I've come to the conclusion that the Socratic method -- one of "guided discussion" and open debate -- is the best method for teaching young people above the age of seven or so, ie when the abstract brain begins forming. Kids **LOVE** learning things when they believe they have figured it out for themselves, and guided discussion forced them to reason, to construct logical arguments, and generally engages exactly the same brain areas that make puzzle video games so popular.
In a nutshell, teach people HOW to think, to reason, to articulate their rationale -- and then give them some space to play, travel, discover -- and I think you have all the makings of a successful student for a lifetime for most people. There are obviously some exceptions but I'm talking about typical students here.
Or as I used to say "show me a person who can read well, who can write well, who can listen and who can think, and I'll show you a king among men."