Multiple partitions shouldn't be a showstopper; you just have to deal with them one at a time. Obviously, you'll have to format the target card so it is laid out similarly to the source card before you begin.
If you copy the partition file-by-file (or drag and drop), you'll have to mount the partitions first. My SDcard has three partitions and an "ls" shows the following:
$ ls -l /dev/mmc*
brw-rw---- 1 root disk 179, 0 2010-01-05 01:28 /dev/mmcblk0
brw-rw---- 1 root disk 179, 1 2010-01-05 01:28 /dev/mmcblk0p1
brw-rw---- 1 root disk 179, 2 2010-01-05 01:28 /dev/mmcblk0p2
brw-rw---- 1 root disk 179, 3 2010-01-05 01:28 /dev/mmcblk0p3
The first entry refers to the card's partition block. The next three are the partitions as defined in the partition table.
If you "dd" the raw partition from one card to the other, remember that the target partition must be the same size (or bigger) than the source.
Frankly, I've had good luck reading raw partitions off an SDcard from the Plug. I've had less success dding to
a raw partition, for reasons I have never been fully able to understand. It appears the writes, which are much slower than the reads, become increasingly backlogged, to the point where the copy grinds to a halt and never succeeds. But, that was trying to copy one of the partitions to another on the same card. Try it and see how it works on your system. YMMV.