Remember that obviously to move space between partitions like this, the partitions/drive letters have to be on the same physical drive. You cannot, of course, have a single drive letter (C: ) using space from two different physical drives unless you have set up a RAID, or use Windows XP dynamic volumes in span mode. (Windows XP span/RAID modes can't be applied to the boot drive anyway).
Yes, if you have several partitions on your drive, moving the space around can take many individual operations. For example if you need to take space from partition 5 and use it in partition 1, you'll have several operations, because each partition has to be individually moved towards the end of the drive to move the free space towards the front, where partition 1 can then be expanded.
The time it takes to do all the moving depends on the amount of data to be moved, the speed of the hard drive, and the speed of the controller card or motherboard chipset when operating under INT13 operation (which is typically slower than when operating using 32 bit drivers under Windows). Typical operations that I've seen on standard, modern IDE drives take about 1 hour per 75GB of data. Newer drives that are very large capacity (>250GB) are faster due to their density.
Partition Magic does a full chkdsk on your partitions before and after all of its operations, so it does a good job of maintaining data integrity. The only time I've had a problem with it is when I had a power failure during a partiton resize. File system was b0rked beyond repair. Had to reformat. These days, I put systems on a UPS prior to doing a major operation like that.