We have highly optimized data copying process and use our own high-performance streaming direct file write classes, or bulk writing where available. If both of these modes aren't available, we use the fastest writing mode supported by the target database.
Highest-perfoming write mode is determined separately for each table, as certain table column data-types are show-stoppers for bulk writing. Data loading mode is displayed right in the progress dialog, so you can always tell if something forced slower mode.
Please note that different database engines differ greatly in performance. For example, PostgreSQL in bulk mode can go over 100 thousand records per second. On the other hand, Microsoft Access is terribly slow and no amount of optimization on our part can get around that simple fact.