It took a really long time for Juno to become relatively reliable. She still ignores me once in a while (mostly only when I recall her at the dog park gate while new dogs are coming in) but she is leaps and bounds better than she was even just a few months ago. I can take her to the dog park now and not worry "gee, I wonder how long it'll take to get Juno back today," and she has earned other off-leash privileges for doing so well. But it was a long journey.
My biggest advice would be, don't set him up to fail. So don't take him to a dog park and call him to come while he's busy playing with other dogs. There is just no way he's going to listen to you, and each time they blow off a command, they're just learning that commands are optional. I'm a lenient dog owner and don't care if my dog blows off a "sit" every now and then, but she NEEDS to come when I ask her to. So, don't call him unless you are sure he will come, or you can enforce the command (by enforce I mean, reel him in on a leash, or physically go get him).
Always reward. It doesn't have to be food. I've had the most success using toys, and I have a ridiculously food motivated dog. But in some situations, a game of tug is more worth it to her. Something that comes in handy, if your dog is motivated by toys (which I think most boxers are

), is using your leash as a tug toy. So that when your dog is off leash somewhere, seeing the leash is not a signal that the fun is ending and you're going home; it's also a toy! You may not always have treats on you and you may not always have a tug toy with you, but if you're out and about with your dog, you SHOULD have a leash with you!
I'll also rough house with Juno as a reward. Shove her around, let her jump on me, etc. So then I'M the reward, which is always nice.
Just some suggestions for ya. It's a difficult command for dogs to master, especially if they are the independent, easily distracted type. It takes A LOT of consistent practice for it to become reliable.