The () seems silly. is there a better way?
()
For example:
ExternalId.IfNotNullDo(() => ExternalId = ExternalId.Trim());
No, there isn't. Lambda expressions are optimised (in terms of syntax) for the single parameter case.
I know that the C# team feels your pain, and have tried to find an alternative. Whether there ever will be one or not is a different matter.