I would also recommend framed (hard) panels, especially if they're going to be roof mounted. Thin film panels work, and they've come a long way in the past few years, but some users have reported that they tend to settle, and get low spots on RV roofs (especially on rubber roofs.) That causes dust to accumulate in the low spots, which can significantly reduce a panel's output. A similar problem can occur with framed panels, but the dirt tends to accumulate around the edge of the panels and not block as much sunlight.
I also agree with installing as much solar as you can. After all, RVers never complain about having too much solar. However, be careful about putting large panels on your roof, just because they'll fit. They may fit fine, but if they're butted up against a roof AC unit, or a sewer vent, roof vent, antenna etc., shade from those objects can reduce a panel's output to zero - even if only two or three cells are shaded. A lot of people don't know that, and end up with an inefficient system.
RV solar can get expensive, so you certainly don't want to lose any of that pricey power due to installation errors - an all too common problem. Generally speaking, solar is a more practical (I.e. cost effective) solution for those who boondock a lot, especially in areas with a lot of sunshine.
A good MPPT controller will beat a PWM controller any day, but they're also more expensive. You mentioned the devices you'll be recharging, but those aren't the only things that will be drawing your batteries down. TVs, furnace, lights, parasitic loads etc. will all be consuming battery power. IMO, a good battery monitor, like the Trimetric RV-2030, is a must when boondocking, so you'l always know your battery's SOC.
If you normally don't draw your batteries down very far (no less than 70%) a PWM controller should work well on an array of 300 watts or less (ballpark). If you regularly discharge your batteries more deeply, or if your array is more than 300 watts, I'd recommend an MPPT controller - the size of which should be determined by your panel's output.
Kev