I think that for the most part everything sounds good on its own, however, the separate elements are not mixed together very well.
The vocals are way too up front, they end up drowning out everything else.
They drown everything else out for 2 reasons. 1) They're just too loud. 2)They occupy the same "space" as everything else.
You need each element in its own "space" to avoid clashing.
The vocals also seem like they were just layed on top of the instrumental.
If you had carved some space out of each of the other sounds/layers, then the vocals would fit better in to the mix, instead of sounding like it was just thrown on top.