I was a very ****ty typist until recently. In fact, I still am not a good typist, but I improved A LOT recently.
When I was young, I learned how to touch type. But since I was using the computer more to play than to type, my position was never good to touch type. So instead I became a fast 2 finger typer.
I was like 50 wpm with 2 fingers.
But I am also a programmer. Being a 2 finger programmer, I felt like I was kinda n00b. I wanted to go back to touch type, but I was just awfull at it, like 20 wpm.
But then I got my first mechanical keyboard. And it changed the way I typed. The reason was simply that the feedback from the keyboard was so much more accurate, that I could finally know when the key registered. So I decided to focus on touch typing more. I tried to do some race to improve (type racer), and it helped a lot. I am still not that fast, but I can at least touch type correctly now.
If I can give you some advice, the most importants one are these:
1. Setup your desk so that you are in an optimal position to type. When typing with 2 fingers, it as less impact cause your hands are "hight". When touch typing, you need to stay close to the keyboard. The height of the chair and armrest, to have your keyboard centered, the position of your screen, many details, but once you found the right position for you, you enjoy the difference!
2. Take your time. If you want to type fast, you must type correctly. So better start slow but learn to do it right.
3. Only use touch type all the time. More practice = faster learning. Hard at the beginning, but once you get a decent speed, it's easier. I must admit that when I go back on a membrane keybord (someone else's), I just find it a pain.
4. With time, even numbers and special keys and accents will be easy to type. (I type in french 50% of the time and must say it can be a pain sometime to type so many accent)
5. Get a mechanical keyboard

. If not for the speed, do it for the feeling. Typing a lot will become a pleasure instead of a frustrating thing to do.
Well, that's based on my personnal experience. Must be different for all of us, but some things apply to most. Taking your time and training are key to succes in most discipline, not only touch typing. Same for having a good position.