I learn a lot of songs, both lyrics and performance on other instruments. I've memorized 500-800, and I have a couple hundred tunes I routinely perform in front of people.
Slow, perfect practice of component parts in all things is the only easy way to gain skills, IMO.
Long-term periodic repetition is the easy way to keep skills.
So, for instance, I can learn most generic country songs in about an hour. As with most skills I break it into smaller chunks...
I memorize and perfect a song's first line,
Then I do the same with the second line,
then I return to the first line and re-work it if I haven't got it full memorized.
When I have the first and second lines memorized, I turn to the third by itself, and when that's done, I turn back to the first two lines.
This process has a second level, in which I do the same for each section of the song (chorus, brides, variations): learn a small chunk perfectly, move on to another chunk, return to the previous chunk.
Learning a song like Willie Nelson's "Mamas Don't Let Your babies Grow up to be Cowboys" takes about 30 min or less.
By definition you return to the previous chunks less and less frequently. That's a structural part of this method; the second part is to play the song 20-30 times in the next couple of days.
However, once you've done that, if you start increasing the period of performance, I've found it's pretty reliable to double the amount of time you can go in between performances and still have the material memorized... if I do this process, then I only need to play the tune every couple of days for the next week or two, and then once every week for the next month or two, and then once a month over the next year.
Using that method, I've been able to call up stuff I haven't played in 2-3 years. And if I'm playing things even less frequently than that, well, I dunno if I really need to know it.
I've found my other skill sets, at least the ones that don't rely on being in a specific physical condition like rock climbing, generally benefit from this periodization.