I finally got a 16GB SD card to replace the 2GB one the system came with, because I found I was having to delete all my demos before getting to play them due to constantly running low on space. New stuff like the Pokedex 3D takes up a hefty chunk, and I had a couple other fairly large games.
I had some problems getting the new card to work though, so I wanted to share my experience in case anyone else is doing this.
I got a SanDisk SDHC class 4 one from Amazon for like $12. I read in the reviews someone used this on a 3DS ok so I figured it was a good bet. I'd like to also note that from what I read, the class doesn't really matter. I know some classes can be faster, but the 3DS reads at its own speed, so it benefits very little from a faster card. It also doesn't really affect playing games from the card.
I believe the 3DS only supports up to 32GB SD cards, but you probably won't need bigger than a 16GB. I went with it because they were cheap and I figured then I'd never have to worry about it again. I think most people get an 8GB and are good.
One important thing to note, you need a SD card reader to plug into your computer if you don't have a slot for them if you want to be able to transfer your data. I already had one because I had wanted to transfer my 3DS photos and videos to my computer (I think it was cheap, like $5-10).
The official Nintendo site just acts like you can pop each card into a computer, save the info, and just copy over the data to the new card and have it work. WRONG!
http://www.nintendo.com/consumer/systems/3ds/en_na/ht_settings.jspWhen I did this, the system didn't seem to recognize I had anything on the card. When looking in system settings, it said there was nothing in a recognizable format. My old games were there, but it wasn't seeing them!
I did some reading on the internet after that.
Basically the main difference is you have to format your new card before you do anything. I didn't even put it in the 3DS system to have it initialize, I think its unnecessary since it makes the same files as you're about to copy to it from your old card.
Stupidly your 3DS won't properly format your card on its own from what I can tell. You'll need to do it in FAT32 format, because FAT16 only supports 2GB. Your computer should be able to do it in a breeze. Once you have it formatted, THEN copy your old card files to it. It took a good while for the data from the 2GB card to be written on the 16GB card, so I'd say don't be surprised if its kinda slow.
When I popped the new card in my 3DS after that, all my games popped up like they should, and were recognized. My photos and stuff were all there too. It was exactly the same as when I had my old card in.
It seems like DSiWare games can't be played from the SD card, but most other 3DS games can. So if you're done with a game but don't want to get rid of it, I'd say transfer it to your SD card, because system memory can be pretty limited.
Since SD cards aren't always reliable, I would also recommend periodically making a backup on your computer of the card. It can't hurt.
And as a side note, you can also import your MP3s to play on your 3DS
3nodding I'm sure some people knew this, but I didn't!
http://ds.about.com/od/nintendods101/ht/How-To-Play-Mp3-And-Aac-Files-On-Your-Nintendo-3ds.htm