Especially overseas, young English speakers are often hired to teach English solely because they are native speakers of the language. These individuals may have no other qualifications and may have no experience teaching, so I’m really not considering them in this discussion. I am comparing trained English teachers: native English speaking teachers versus non-native English speaking teachers.
It is a myth (a lie, even!) that a native English speaker is necessarily a better English teacher than a foreign speaker of English. In fact, a non-native teacher can be better than a native English speaker. How can this be? Well, most English speakers (even trained English teachers) without training in linguistics don’t realize that they are following a set of unconscious rules when they speak. They acquired the ‘rules’ as babies and children, listening to adults speaking English, and they are not fully aware of their own language.
If you ask the typical English teacher how many vowels English has, you are very likely to hear the answer “five”–A, E, I, O, U. A native English teacher trained in linguistics (or a teacher who is a non-native English speaker), however, will tell you that English has many more vowels than that!
English teachers who are non-native speakers have had to work hard to acquire their English. They have studied every aspect of the language. They hear and are aware of what native speakers are doing, even when the native speakers themselves don’t realize what they are doing. They know the ‘rules’. So, a non-native English speaker can be a very good English teacher.
Bottom Line: You want a teacher who is extremely knowledgeable about English and its unconscious “rules”. The knowledgeable teacher might be a native English speaker with linguistics training, or it could be a foreign teacher, maybe even someone from your own country. Don’t rule out somebody as your teacher merely because they are not a native English speaker.