I'd say the bitcoinfees.earn.com site is fairly accurate in estimating. The api from there shows me the fastest fee and a 1 hour fee. If the 1 hour fee is close to 20 or 10 sats or even lower, then it's just a matter of a few hours more for 1 sat fee.
My 1 sat fee transactions have usually confirmed in 24 hours, but sometimes could take as long as 48.