In this day and age, due to English being widely used, ways to learn it have become crucial and I agree that an English-speaking country is the best approach and yet not the only one.
First of all, learning in a place where English is universally spoken provides learners with multiple chances to get the hang of English. By being exposed to English-speaking environment, we can naturally improve English skills, especially speaking. For example, through days and days of speaking to the natives there, English learners are sure to have an enormous knowledge of vocabulary and flexibility in using the words learned through experience. Moreover, better teachers and better facilities is another merit of studying in English-speaking nation.
Secondly, apart from the best solution, there are still many other feasible ways to help your English improved. One of these methods is Internet. A friend of mine who is also very good at English spens most of his freetime surfing on many English websites, which not only gives him a better understanding in many aspects but it also helps him broaden his horizons in English. Little do we know in conjunction with English songs' means of entertainment, they partially render us with a source of English words and ability to use those words correctly. Another good case in point is asking for help from friends and others. May not as good as forgeigners, talking with friends can still improve yourself through others' correction and opinion, even better with ones who is advanced in English.
In conclusion, English-speaking country is indeed the number-one solution to learn English but learners can still use many other method to improve their English. The key to become an expert in English is knowing how to apply any following approaches in the most suitable for each.