We were talking about this internally and here was an answer from Michael: "You shouldn’t need to use async unless you want async. The async collections tasks can be treated as normal sync tasks."
Generally, Michael has implemented a lot of magic, allowing you to combine sync and async tasks in a flow.
Regarding building collections, async seems to be preferable since you can then still call those as normal sync tasks. But @alex can correct me if I'm wrong and explain it better