The wider your throw the net and the more complex the language, the less accurate the system will be. This is simply due to the level of complexity it has to deal with.
If you want to classifiy sentiments into +/- groups, then you are more likely to get a good result than if you are trying to classify into more exact groups (Excellent, incredible, good...). More granularity requires more accuracy and this in turn requires a deeper understanding of human language.
There are commercial systems in place at this time and also systems like NaCTeM in the research space.