Trains run from Moscow via Samara, across Kazakstan to Tashkent, or via Urgench, Charjou, Bukhara and Samarkand to Tashkent. It takes about 56 hours to get from Moscow to Tashkent by train. Bringing your own vehicle into Uzbekistan is a logistical nightmare and probably not worth the effort. The bus is the best bet for getting between towns cheaply. There are big long-distance coaches which run on fixed routes with fixed stops, and they're relatively comfortable.
Regional buses are less comfortable and far less reliable.
There are frequent connections between Tashkent, Bukhara and Samarkand. Lower class train travel is the cheapest way to get around, which also makes it the most crowded method. You'll get plenty of attention from your fellow passengers. Trains are slow, the windows are so dirty you won't get much in the way of a view, there's no such thing as a dining car and you run a reasonable chance of getting mugged. We encourage you to verify any critical information with the relevant authorities before you travel.