I completely agree: nothing replaces a long-term language stay. You really have to be in a francophone environment where there are no anglophones with whom you're tempted to speak.
When they return, we've noticed that our students who have spent a year in France have really made incredible progress. Comparing them to our students who have not made the effort to go to France, we have seen that their level is completely different. I myself have had that experience: this spring, I spent a week in France with two of my students. It was the first time they had been with people who didn't speak any English at all. They were really surprised that they could not make themselves understood by using expressions that worked in their classroom and which are often patterned on English.
I think that finding yourself opposite someone who doesn't understand and being forced to find the right word in French is the method that works.