People have always spoken their own language perfectly, but vary in their ability to speak someone else's. During the time of the British Empire, there was a widespread belief that polite Londoners spoke correctly, and that everybody else got their English wrong. In the modern world, global English is spoken in many different ways, and British English is one variety among many. Even in England the speech of young people is influenced not by RP, but by Estuary English, a less exclusive accent spreading from the South East of England. Young people today do not speak 1920s English, but do speak perfect 1990s English.
People learn languages in different ways.
There is no one best way. Most people find that living in the 'target language' country, and doing things like shopping, watching TV, and talking to speakers of the language is the best way. However, most people can't do that, and have to learn the new language in the classroom. You need to make sure you get enough 'input', i.e. exposure to the target language, in both written and spoken form if that is what you want, including language which is a little more difficult than you feel you can cope with. Don't worry too much about making mistakes, but try and make sure you get feedback from the teacher or another student on what you say or write.