I did something kinda similar last month - I went from San Diego to Laughlin. I took the state highways over the mountains all the way to Palm Desert. I did not go through Joshua Tree, but went directly to 29 Palms, stopped and had lunch, then took the described route to Needles, then River Rd to Laughlin. I stopped once for gas, and stopped to take some pictures coming down the mountain into Palm Desert. It took me 6 hours.
Get a very early start (5am?) so you can get out past San Bernardino before the traffic gets horrible, and you should be able to get to Vegas in time for dinner.