at the risk of sounding ASCII retentive, one does not copy an instance; one copies a database. an instance is a set of processes and their shared memory which act on a database.
that being said, the easiest way I've found to copy a database is to physically clone it. that is, create directories for the new SID, copy the files (control, data, log & init), "register" the new instance (NT only; just export ORACLE_SID=<new_sid> on unix), tweak new init (for instance_name & control files) and start it up. optionally, you can also rename the database (pretty sure I've posted how to do this before).
full export/import is good if you want to defrag and get a fresh start but for testing/QAing the cloning method guarantees physically identical databases down to the extent & block level.
just my 2c/never 2bHO...