Acme 210.5
We hired a trainer a few months ago. He told us to sit on the sofa, whilst Jarvis ran in and out of the house. We were to give 3 pips on the whistle (our chosen recall command) and hold our hands out with a treat (not that he's very interested in treats). Eventually, he wandered in and ate it. We just repeated this, without saying anything other than "Good boy" until he responded instinctively.
That said, off the lead, we don't have 100% success rate... but it's better than shouting