View model should rarely be just a collection of domain classes. First of all, putting domain classes into view model is a big topic; many think that you shouldn't do that. Your view probably doesn't need full User instance but only a name. If you keep full User instance in the view model it hides real view model intention, makes it hard to re-use, and so on. You probably better have string UserName property that properly formats the name, instead of accessing User properties in the view and formatting it there.
That's a theory and no-one has to follow it; but it's good to keep in memory and try to achieve.
Second, your view models shouldn't be just collections of domain classes because they should provide view semantics - for example, validation attributes and additional presentation logic. You can have aggregate properties that provide select lists' data, formatting, and so on. Another example, the POST view models can have methods to convert raw form data to entities.
You should move some presentation logic from views and/or controller into view models - formatting, properties that are only needed by views, and so on. Controller should not convert entity collection into view model data collection - view model should do that. View should not convert format User into single name and address string - view model should.
By doing so, you won't be tired of making "view model" classes because they won't be dumb no more, and your work won't be dump and/or repetitive. The view model classes will be as important as other classes in your application.