The Cardinal heading for west would be the easiest way for you to get to Chicago. It would arrive in Charlottesville in the early afternoon and get you to Chicago the next morning. (Assuming its running on time, of course!) You'd then have a layover of a few hours until your train heading west. Four trains that leave from Chicago eventually get to the West Coast: the Empire Builder (Seattle/Portland), the California Zephyr (San Francisco Bay), the Southwest Chief (LA), and the Texas Eagle (1 through sleeper car gets separated from the train once it reaches Texas and attached to the Sunset Limited, which runs from New Orleans to LA).
I've taken both the Empire Builder and the California Zephyr. If you want to visit family in SLC, then you'd take the Zephyr. The scenery from Denver on westward is amazing. You'd get into SLC at night (again, assuming running on time) on Day 2 of the trip out of Chicago; around 11 P.M. Mountain Time if I remember correctly. You'd be departing at a similar time whenever you continued on to California. Once in the Bay Area, you'd have to catch the Coast Starlight going south. I'm not sure about its departure times in relation to the arrival of the Zephyr.
If you decide to just go directly from Chicago to LA, you could take either the Southwest Chief or the Texas Eagle. The Southwest Chief is the more direct of the two, because you aren't going through Texas first. I can't personally speak about the scenery because I haven't taken either train; a friend did take the Chief a few years ago, and she very much enjoyed the scenery (and posted a few pictures online that looked great).
Others can correct me if I'm wrong, but I think another option for you in Charlottesville would be to take the Crescent to New Orleans, then board the Sunset Limited to LA. I believe this would involve an overnight stay in New Orleans for you, and you wouldn't be able to stop in SLC because the Sunset's route is very far south.
Hope this helps!