> and the thing has had to go in for service every 2-3 years for weeks at a time to get it to keep time properly.
You can stretch this out to 5 years and get away with it. Also, most mechanical watches need some kind of servicing (usually relubrication) along that time frame. Hence why before the quartz revolution, local watchmakers were both a staple of any community and a necessary service.
You should really see to it that the Rolex is serviced by a reputable watchmaker. 20 years is a long time, even for a Rolex. Rolexes can last decades upon decades if properly cared for.