Mit Grunt arbeite ich seit 3-4 Jahren, das ist der old Dog unter den Taskrunnern. Vorteil: Explizite Syntax und flexibel wenn es darum geht, gemeinsame Tasks für unterschiedliche scr- und dist-Locations zu erstellen. Nachteil: Es arbeitet sequentiell und das macht sich bei größeren Projekten durchaus bemerkbar. Wenn man 40 .scss-Partials hat, die bei jedem speichern neu kompiliert werden müssen, kann es schon mal 10 sec bis zum Browserrefresh dauern.
Gulp ist für mich relativ neu, damit habe ich bisher nur zwei kleine Projekte erstellt. Ich finde es zwar weniger explizit und flexibel, dafür wird es durch das Streaming spürbar schneller, und deshalb werde ich zukünftig kein Grunt mehr einsetzen.
Webpack ist für mich komplett neu. Kenne ich nur deshalb, weil es in der Angular-Cli Beta die zuvor eingesetzte Combo aus SystemJS und Broccoli abgelöst hat. Das werde ich auf jeden Fall im Auge behalten.