I prefer in dash nav systems. For me, unless I get a 7 inch unit (that poses its own problems,) my large hands/fingers are a limiting factor to size appropriate portable units. Beyond that, most of the in dash units I've had featured a joystick or comparable piece that makes use so much easier. I usually don't keep a car for more than 3 or 4 years, so the maps don't usually out-date in that time (they are easily updated though,) and I've never had a sunroof issue and I've owned a lot of cars. As far as rear-view cameras go, I don't really care; I rarely look at it when backing up, but it can't hurt to have one if you only use it once and it saves a bumper or cat.
Edit:
A good iOS or Android phone is really good at navigating, but even my iPhone 5 is a battery suck (don't get me started on Android devices I've owned,) so on longer trips battery life and data usage may come into play. I simply prefer a good in-dash unit.