Soft sleeper is 440 rmb from Shenzhen. And hard to book tickets. Bus takes around 8 hours - goes to Yangshuo - but not very comfortable. Bus is around 250 rmb.
If flying or catching the train to Guilin, I would then go directly to Yangshuo. Nothing much in Guilin which Yangshuo does not do much better.