Expressions are faster, always.
If you can use the Automation Professionals Integration Toolkit many of those limitations are also eliminated (e.g. iteration)
Generally, avoid transforms if possible, and default to pure expressions.
You can not do multithreading in expressions. There are certain applications which the expression language is not capable of, in those cases you will need to use scripts.
This is a perfect example of when you don't even need a transform at all.
Just use a pure expression binding.
hasRole('role')
For more perspective performance infomation see this thread: