I've done both (kinda).
First time I used the service was February 2012, travelling from Crewe to Tyndrum Upper to meet friends. I booked a standard cabin and paid a supplement for single occupancy - something I think only available if you book direct via the phone with the Scotrail staff at the sales office in Fort William. Don't waist any minutes of your life with any other telesales numbers as you get through to amazingly poorly informed people half way round the planet! Anyway, it was a bit less than 1st would have been and I got a guaranteed cabin to myself, which was the purpose as I was travelling solo.
Second time I used the service was February 2013, travelling from Corrour to Euston with a friend. As I was with a friend we were quite happy with a standard sleeper ticket as we knew we'd be sharing with each other. We ended up spending most the evening in the dining carriage having a meal, some drinks, agreeable conversation and a read of the papers. I can't speak for the Inverness or Aberdeen sections, but the Fort William section only has two sleeper carriages, so the lounge/dining carriage doesn't seem to get busy. This means that you'd be unlucky to get turfed out of the lounge carriage if you were travelling standard sleeper and space was needed for first sleeper passengers.
I've heard it said that if you travel standard sleeper, boarding at MK or Crewe, you're more likely to get a cabin to yourself, so as not to disturb someone who boarded at Euston. I wouldn't take that chance though.
I'd suggest trying the Cornish Sleeper (which I've used a few times), which is definitely cheaper. However, in my opinion, whilst the service is very good, Penzance doesn't have the same appeal as the Highlands frankly.