Hi I'm doing something very simular, don't rush this. I'm re-training my dog beacause he spat his retrieve I've kept with the tennis balls and increased the time he holds them when he comes back praiseing him. Then I've got him to sit, lie down, walk to heel while holding. I then tried him with a old sock first time he retrieved it he spat it out, so walked off he soon picked it up and followed when he did told him to hold and praiseed him and success. Next time he didn't spit it out.
You need to get him use to holding different things.
I've been told by several pro gundog trainers the spainels are NOT natural retrievers so don't over do it a couple of retrieves a day and quiet while the going is good keep it short.
It's took me a good few weeks to re-train my dog to retrieve correctly and thats just in the house.
Good luck sound like some good progress