The first and best option is to restore from backups of your source files.
Second option could start by issuing STRDBG for the program to see of a source or listing debug view appears. Of course, if a source view appears, then the source wasn’t really deleted — it’s simply not where it was thought to be. If a listing view appears, then the worst that would happen would be that source could be copied from the screens as you scrolled through them. (I’d probably do a STRCPYSCN to an outfile and scroll only to the bottom of the source section. I’d recover the “source” from the outfile.)
I haven’t seen any source recovery services for recent versions of the operating system; and the last time I did a quick search, I didn’t find any in the first 100 Google links. They might exist.
If you have no backups of the source, and there are no development environment or alternative source locations, and the compiled object doesn’t have a listing view, then an outsider might wonder if the program belonged to someone else. That might be part of why few source recovery services remain.