I dont claim to be a trainer and that this will work for all dogs. This is how I trained our pom to shake hands.
Pomeranians are a stubborn and not a calm breed. So it takes a while for him to just understand that he has to wait and listen to command carefully and then react.
For hand shake, I started by making him sit which he knows very well. And a few times day, I would just make him sit and say shake hand and simultaneously take his paw in my own hand, and giving him tiny treats. After a few days, i would just tap his leg and if he didnt lift it, I would take his paw in my hand. He started lifting his paw after a few such tries. Then after a while, he started giving me his paw before I tapped his leg. So I dint need to tap the leg anymore. I started offering my palm and he started giving his paw on command. Sometimes, he would not do it because he was too impatient for the treat, so i would take his paw anyway.
After about 2 weeks, he had it down pat, and would even give his paw, if i just showed my hand palm up, without a command and without treats!
I will probably put up a video in some time of chewie's tricks.