Who is the best teacher? For a long time, I believed that the best language teacher is a native speaker of your target language but I recently realized that this is not always the case. The crucial factor is to differentiate between who are the best people to practice the language with and who are the best people to teach you how to learn the language.
Native speakers are certainly ideal to practice the language but they are not necessarily the best persons to teach you how to learn your target language for one simple reason: they did not have to learn it (not as adults).
I believe that someone that has already proved successful in what you are trying to do, learning your target language, would be the best person to teach you effective methods of study and learning because he already tested them on himself.
The native teacher would be more likely to assume that following a traditional textbook and learning grammar would be the way to learn a language if he did not face himself the challenge to learn it. A teacher that has already faced the challenge to learn a language as difficult as the one you are trying to learn is more likely to have realized that following a textbook is not always the best method to learn a language. In this case, a language student would have some good indicators of how good are the teacher’s methods to learn a language by looking at how well he himself learned foreign languages and how much time did he spend to learn them. It follows that a teacher that has learned several difficult and different languages, such as Chinese, Japanese and say, German, should have also learned an effective way to learn languages, especially if he learned them in a reasonable amount of time.
To sum up, if you want to practice your target language do look for native speakers but if you want to find effective methods to learn your target language do find effective learners.