Yes. For westerners, or people who don't speak a tonal language, Chinese pronunciation is very hard. This may sound like a simple answer, but I have honestly found the best 學習方法 to be "listen a lot and speak a lot". I think listening a lot is very important in learning any language, but for learning tonal languages it is particularly important. For example, if I have heard somebody say 說、講、學、做、想、要、我、他、她、英國、中國、台灣 many many times, then I am more likely to remember what the tones are for these words. It is because I have heard people say these words SO many times that now I hardly ever say these words incorrectly, and if I do say them wrongly, I can instantly hear that I made a mistake - it didn't "sound right" - and correct myself. Then, once you can remember the tones, you need to make an effort to get them right. You need to practise reading aloud slowly, making a deliberate effort to get the tones right. When you speak, you need to speak slowly and make an effort to get the tones right. When you speak, you need to listen to yourself very carefully to make sure that if you do get a tone wrong you hear yourself and instantly correct yourself.
The initials, consonants and nasal sounds are hard, but they can be overcome with practice. I will never have tones like a native, but so long as you catch yourself and correct yourself when you make a mistake, are right 98% of the time and miss a few each day, that's enough.