How do you define the total transaction to be a success? If there are actual errors in the process then the entire transaction will be rollbacked anyway (unless otherwise specified)
If you are referring to some kind of check you do manually near the end then it seems logical to only commit the objects when this check succeeds.
With community commons you can create an exception so all commits in the the complete microflow are rolled back.