Not: 24 hours, 48 hours, or any other fixed figure.
YOU control TTL (or you should, if your registrar or other DNS provider gives you the full control over your records that you should).
If you make a move that is pre-planned, you can reduce TTL to a lower value - say, 5 minutes - then wait for the previous TTL before changing the records. Once you make the change, it should be accomplished within that time (e.g. 5 minutes). Once the lower TTL has expired, you would then kick it back up to the more typical 1-2 days.
A refinement would be to lower the TTL in stages.
Inevitably, some routers will fail to expire their cache, and hang onto the old address. There's nothing you can do about this, though, other than to contact the owner of the router if you can identify the router. (Sometimes possible if it is a major backbone router.) In any case, by reducing the TTL you will find out about any such situation that much sooner.