I do everything by the book and I only do 60wpm. (Says more about me than anything.) I don't think doing things "correctly" is automatically the way to increase speed. I don't even think the "correct" way is very logical - look at the way the left hand has to deal with a reverse slope to the right hand. The "correct" method seems to be more aimed at easy learning rather than optimum speed or comfort.
Show Image
If I was learning from scratch I'd be tempted to learn this pattern of finger use
Show Image
I use these layouts but use the thumb for alt and windows key. For sorting out bad habits, i just slow down and make sure i use the correct finger, and try to type one key at a time leaving the other fingers on the home keys unless it requires a combination with shift, alt, ctrl, windows or menu key.
My favorite typing programs are 'Stamina 2.5' from TypingSoft and 'The typing of the dead' for PC, by Sega.
But I for alt, ctrl, windows and menu key I'm stuck practicing with real life example. Stamina will let you use custom files for example if you want to practice HTML or other code, but they are from txt files and can't write a windows key, if someone knows an a typing program that includes shorcuts, combos, or 'chords' I could use this to speed things up a bit.