One of the reasons that led the Prism team to not use .NET events, is that Prism events (mainly for Cross-Module communication) do not address the same scenario as .NET events, for example, Prism events do not
require a sender (as it does not matter who published the event).

Another, but yet related reason, if .NET events had been used for Event Aggregator, developers might have fallen into confusion and would have tried to use the events as normal events (relying on the sender which
is not the case). If for any reason, events need to be “filtered” based on some criteria, the payload can provide any necessary information.