The best way is listen and practice to talk often. Repeat and correct when made a mistake. Remember, not all American can speak perfect English. Because, they are live on different regions, their language influenced from their culture and original native
I believe immersion is the best and fastest method to learn a language, i.e. immigrating to a foreign country you want to immerse yourself to. If moving to a country is not possible, there are still lots of ways to learn a language, For example, you can watch TV shows, movies or listen to a podcast if you want to learn English.
i think immersion method is best way to learn new language, because, when you are surrounded by native speaker, you ll understand all what they say dramatically,react automatically.
old method as grammar rules, vocabulary lists make some awkward in using english ,especially in spoken english
live in country where it is spoken for one year at least but you will always need conventional classes to learn grammar an begin sepeaking. If you can't do that conventional classes and practice with native speakers in your country may be an option. The Internet and sites like this with audio and transcriptions are very useful. Thank you