Some of the I/O like disk and network read/write is done by other threads, which causes the total CPU usage to creep above 100%. This is usually one thread per virtual device and can be scheduled freely over available physical threads/cores. It really depends on the workload and how well it scales over (virtual) cores.
Example: 1 virtual core 100% busy with calculation and some I/O => 116% phsical; 2 virtual cores but only 100%+64%=82% busy (because of imperfect scaling) + same I/O => 82+16=98%. I'm sure that with a perfectly scaling workload you can get a result like 100%*cores+I/O which is more that just all the cores.
EDIT: Even paravirtualized devices such as VirtIO SCSI and VirtIO network require some CPU time, although less then emulated device such as LSI and e1000.