Steve Hall method:
1) Fresh install of Oracle XE to default location on new machine,
2) Run backup.bat script on my development machine (ApEx 3.1, my app etc),
3) Copied these files / folders from the development machine to the new installation :
flash_recovery_area\XE\AUTOBACKUP\*
flash_recovery_area\XE\BACKUPSET\*
product\10.2.0\server\database\SPFILE2INIT.ORA
4) Run the restore.bat script on the target machine.
Voila! ApEx 3.1 and my app on the target machine. It needs more testing and automating but it certainly seems to work 'in the lab'.
Suggestion: You can try the COMPRESS option in backup.
Andre method:
Basically the steps are as follows.
1. Create your schema.
2. Create a workspace using that schema.
3. Create your underlying db objects.
4. Import the application into the workspace.
This is pretty basic and there may be some other steps required to complete the job, such as importing images and workspace users but overall, once you do it once, its not that hard.