Sometimes I would get 1 or 2 uniques in that amount of souls, so I could say it's enough but plenty of times I'm out of luck and would get nothing but 1or 2 epic/legendary items. Just like you, frustration comes in after spending so much souls. I try numerous ways to buy in the shop to see what pattern is more rewarding when it comes to unique, but upto now it's still a mystery to me.
My question now is how did you spend your 300 souls, did you spend it all on 100 souls draw or 10 souls?
In those 300 souls spent, is there at least one legendary?