Duplicate should just pick up from where it left off.
I've just tested this and duplicate works as it should and picks up where it left off.
However my test database is small and the issue you have might be due to the size of your database and the time it's taking to do the duplicate. It also might be the fact that by the time you run duplicate from active database again, the primary database has moved on so it can't just pick up from where it left off and has to start again.
You might be better off taking a backup to tape/disk and doing the duplicate from that backup. If you always use the same backup pieces for your restore then duplicate should pick up from where it left off. You can then recover the database using the archivelogs although you will need all the archivelogs from when the backup was taken.
It's no ideal as you have a large database AND a slow network, but you can only try what you try. On a separate note, assuming you run maximum performance you might might find that network latency issues means your standby runs far behind your primary. I think with your setup maximum availability and max protection are non-starters.
Hope that makes sense.
Because you duplicate from active database and not from an rman backup the process will start all over again.
If you can ship a disk backup to the remote location it should be possible to build the standby in a shorter period of time.
You will need all redo generated from the moment the backup started on the standby as well but this can be copied in batches and after a disconnect it can be restarted.
You should backup the database to an external disk or tape drive and ship (courier) it to the remote site. Restore the database from such disk or tape.
Hemant K Chitale