When using virtual hard drives, regardless of use with or without a virtual machine, you can improve performance by hosting the virtual hard drive file on it's own physical drive to avoid IO being lost, because the host OS is using it.
You can also improve performance by using a pre-allocated space, instead of a dynamically expanding virtual hard drive.
When using virtual drives it's important to remember that file fragmentation can occur twice. Once on the host, to the virtual hard drive file, and again on the files in the virtual hard drive; defragmenting both can improve performance if there is lots of fragmentation.
Page files, and swap partitions will heavily slow a virtual machine unless they are stored on a very fast drive. Generally it's better to give the VM as much ram as possible, and then do not use a page file/swap partition.