Yes a class would be the best way to go as sometimes I have thought I am doing something correct, but being in a class allows others to point out things you may be doing wrong. For instance, when we first began training Holly, she used to jump to get the lead on and I would say "Right now, cmon... be a good girl... sit nice" and all this rubbish haha, but in actual fact she kept picking up on the "good girl" bit, which there was no need for me to say, as she wasnt actually being a good girl.
It does take a lot of time and patience. She still dances round our feet when we try to get our shoes on, but we tell her "away" and then "down,stay" (We use down as it is harder for her to get up if she is in the down position... therefore we can correct her before she moves from a sit into a... "oooh ooh let me at it, let me at it!")
We used a harness on Holly when she was younger until she walked on a lose lead. Now she only has her collar on when we take her for a walk, and it is usually off in the house. If the dog pulls on a lead though, I would say stick with the harness. I would like to move back to harnesses as I like them, but will need to get one made to fit as I just cant seem to get one to sit right on her.
Whenever he jumps for the lead don't give in and chase him round the house... I always looked at as... well, if you wont sit and stay you obviously dont want out that much!!!! Holly knew what I wanted her to do, but she just got too excitable. If she wouldnt do it... i put the lead back, shoes off and sat back down. After a couple of times of this she soon sat and stayed until I got the lead on!
She still gets excited, but her excitement is a lot more controlled now.
Hope that helps!