To move data between SD cards in your Android phone, just copy it to a computer (with the phone plugged in – via enabling USB mass storage mode from the phone), power down the phone, insert new SD card, boot up, and copy data from computer back to new SD card in the phone. Easy.
My Android (LG Optimus One) came with a 2Gb micro SD card, which did the job for about 6 months. Now I use my phone for listening to music in the car and elsewhere, and the apps I installed started to consume space as well, so I needed upgrade the SD card to something bigger. The biggest the most phones support right now is 32Gb, so I bought a Lexar 32 Gb micro SD card (class 10) for $AU100 (retail). I was a little concerned about the exact procedure to move the data from the 2Gb to the 32Gb card, but it turns out it was really simple (assuming you have not partitioned your SD card):
1. Connect phone to PC via USB (with old SD card install still inserted), and copy everything off the SD card into a folder on your HDD. I got a few errors trying to copy some ThinkFree Office files, probably due to the path length being too long, so I just skipped those files (they didn’t look too important anyway).
2. Power off phone, insert new SD card, boot up phone.
3. Connect phone to PC via USB, copy everything from the folder in step 1 to phone’s SD card, and disconnect USB.