When a lot of 'trusted' users mark a pubkey as spammer, my plan is to ask for more PoW for the events coming from the spammer. I think relays should try to do this instead of simply dropping. Unfortunately not many clients support PoW.
In a perfect world, regular users should never be asked to provide PoW because they are not spamming. But client devs can be on the safe side and may still offer this feature for up to lets say x bits maybe automatically without even asking the user? And let user know in a notification that a relay is asking for PoW.. Not being able to provide PoW to a relay may still be fine, other relays probably already accepted it and the event is 'in the network somewhere'.