I didn't try this but just giving an approach I would follow.
The log reader scans all the log records and keeps it in distributor DB. The subscriber reads the records from the distributor DB, then inserts it in subscribers and marks the last record it read.
Considering the above topology, I don't see any issues with moving the distributor DB. Assuming you are moving the publisher(push) or subscriber(pull) involved and the server name remains the same.
In a Push model, the distributor DB resides in publisher and in pull model, the distributor resides in the subscriber DB.
Replication stores all the server information for all publishers, distributors, and subscribers in the database. So if you go with this approach I would suggest the below steps:
- Stop all jobs (log reader, distributor)
- Move all databases(attach, detach) to new server with same server name
The only issue I see here is the instance name being the same as the old one, which can be tricky. You also can try testing this yourself with a single table replication and with the same setup.