A lot of time can be taken by re-indexing, especially with a large catalog.
Disable indexing, before you duplicate. Does that reduce time?
It can help to complete all the duplication you need done, then, re-enable indexing or first do manual indexing, then re-enable, after all duplication is completed.
If you are only duplicating one product at a time, every now and then, disabling indexing is not really helpful, as you are just shifting the time it takes to complete the process for one item, and it can in fact make the process take longer, as it requires additional steps. so not really all that useful. That said, the illusion that it takes quicker to do something, is sometimes all that is needed. Seen that happen way to often ;)
You can also try and determine where the delay is. Could be a third party module, or some external resource. (some external call made to another system, for whatever reason...)
Install the great Profiler tool called AOE_Profiler, and use it to determine the bottleneck.
NewRelic is also a great tool to use, and can show where your bottleneck is.
An example of how to use newrelic to find latency is here: http://www.proxiblue.com.au/blog/new-relic/