Having used them all, I’d say less, sass, and stylus are all pretty similar, and roughly equal.
The best feature (imho) they provide is nested classes, which allow people to take css classes out of global scope and pseudo-scope them to a specific component/template. The most painful feature (again, imho) are variable mixins, since they require static linking/importing of files, which goes against the Meteor bundler paradigm. The
grove:less package addresses that shortcoming; but even with it, the issue is still sort of there in the background.
I’d second the opinion of looking into JSS. I think it, or something like it, is the way of the future.
Edit: Be sure to take a look at JSS: The Important Parts for an example of how one would go about using JSS with Blaze; and keep in mind that the
toString() method will allow one to write to a DOM element’s style attribute for dynamic layout & positioning.