In addition to sandraj's advice - only say come when you can reinforce it - my trainer says only say come when you are prepared to back it up, ie go and get them. Don't let them practice refusing a come command!!!!
Personally, I ALWAYS reward come with a treat. It's
such an important command! Now that Joey's pretty darn reliable with it, I may not always have a treat on me. If I don't and I call him to me, he gets effusive praise and "let's got get your TREAT" while we run to go get the treat.
There are those who don't believe in frequent treat rewards. There are those who still believe in corporal punishment for noncompliance. I personally see absolutely NOTHING wrong with frequent treats. It works incredibly well for us!