At one end of the spectrum unschooling, at the other a top-down, here are the facts you must know system (which is roughly where we are now). Where do we want to be on the spectrum? Whatever your innate predisposition is, it's worth mentioning that this question is very complex and not completely understood question.
In California in the 60s, there was a move by educators to replace grammar focused primary education with lots of book reading. The idea was that learning grammar rules was boring and it would be much more effective to read books and learn by doing. It failed miserably and the state quickly reverted back to the traditional approach. My take is, little kids are already pretty curious about how things work and they just want the structural content so they can get up to speed as quickly as possible. On the flip side of this, there have been quite a few studies showing that little kids engage in all kinds of problem solving and learning when they're playing. Trying to force facts into their heads (flash cards, etc.) isn't terribly useful.
A mathematics professor I knew once mentioned the appalling low percentage (~10-20% from memory) of math phds who publish more than one paper. I suggested this was evidence of a structural failure in higher education. The authoritarian information transfer model we currently have doesn't produce people who are capable of independent, creative problem solving because they've never had to do it until the very end of their education. His counter was that you had to know a huge amount of information before you could engage in actual problem solving (ie, you can't read before you know grammar).
My own personal opinion is that the 'illusion of self-discovery' model is best. That's where you have a teacher who gets you to ask the right questions and pushes/helps when you get stuck as well as paces you according to your ability. But here too, there are problems. Realistically, high schools can't even find enough teachers who have basic science/math skills, much less ones able to provide the 'illusion of self-discovery'. More subtly, as anyone who's ever had to teach at high school+ level, most teenagers are concerned with sex and social relationships. They don't want to learn stuff they don't think is useful and they're smart enough to game any system. How do you get someone who doesn't want to listen to ask the right questions?
It might even be that there exist different learning styles in the same way that there seem to be distinct personality types. Perhaps some people learn well in information transfer environments and others in self-discovery ones. How do you build an education system around that?