I travel sleeper class from Montreal to Halifax about 2-3 times a year. In my youth I traveled the same route in coach-class. The meals have always been good.
The snack car offers cold meals, occasionally oatmeal or soup -- but nothing fancy. And yes, it is overpriced for all it is. Anyone and every one can access the snack car. The service is often shared with the dining car, as the person running the snack car tends to also do the odd microwaving and plating for the dining car.
The dining car runs about $20 a head for a two course meal for dinner -- before wine. It's well presented and very tasty with a limited number of options. Seating is limited, occasionally communal (as a 4-seat is filled up with couples and single diners) and they only do two sittings.
Menus can be previewed here: http://www.viarail.ca/en/useful-info/...
I've never had a meal on an Amtrack train, so I can't compare it. I hope this helps.