I began working for a fairly large public school system about 3 years ago. I find that many (though probably not most) of these teachers really do try to create learning environments where children can explore and don't force them to sit in nice neat rows and learn in some lock-step fashion. They try, but in the end there is one very large factor that dictates what they teach and at what pace they must teach it. The annual state achievement tests seem to be all important to these people. Everyone gets quite anxious about it. I went through a pretty good teacher education program (though I don't currently teach) and "teaching to the test" was clearly frowned upon. But this whole school district literally teaches to the (state) test, because reputations, jobs, and tax dollars are at stake. This is why teachers try to get their "slower" children placed into special education so that their scores won't be included in the final tally. Grrr.
As for the achievement differential between American students and those of other countries, it was my understanding that our elementary students are holding their own, as are our middle schoolers. The gap really shows up in the high school years, especially in math and science. We're near the bottom of the list when we look at juniors and seniors. My hypothesis is that students drop in rank when they get to high school because it's in high school where their critical thinking/problem-solving skills are really put to the test, and those are precisely the skills which have not been developed by their previous teachers. IMO, a course in logic/CT skills/problem-solving should be mandantory for every student entering middle school (if not sooner). In addition, there should be a systematic integration of CT exercises into every teacher's curriculum.