I pick up my SD cards from Costco. They sell the Sandisk Ultra Class10 cards for a very good price. Any major name brand Class10 card should be sufficient. I'm sure you could sneak by with a lower class, or no-name card, but honestly why bother? I picked up a 32gb Sandisk Ultra Class10 for $22.
I picked up a 32gb card with the intentions of loading the US Topo24k on there. Learned pretty quickly that you can only load 4000 "map segments" on there. So i'm sure I could have easily gotten by with a 16gb card.
I also loaded the CNNA on there, and its pretty good. Seems to cover the on-road stuff, but not much of the off road.
One tip i'd suggest, only enable CNNA or Topo maps, dont have both enabled at the same time. It can cause some issues with displaying the right maps. With the montana you can create profiles, so you can have an offroad and a onroad profile. You can link the onroad profile with the CNNA, and the offroad with the Topo.