Right now sniping has become more common, and that’s because when the grace period ends the domain is meant to go into a Dutch auction, but the starting price is set too low now (was more appropriate back in 2020). Dutch auction - Wikipedia
Nick created a proposal to fix that by raising the starting price of the auction to $100k, which will then go down over 28 days (maybe non-linearly) to meet the highest bidder.
So basically right now if the initial premium of $2k is within your price range and you feel that is fair for the domain, then you’d have to be fast at the trigger and hope nobody else is trying to snipe too. When the Dutch auction format is corrected with a more appropriate starting price, meant to be far above what anyone is willing to pay at first, then sniping will no longer be an issue.
You decide how much you’re willing to pay at most for a particular expiring domain. Is it $1000? $100? $10? Whatever your personal price range is, you wait until the domain comes down to that price range over the 28 days. Then at that point, assuming there weren’t any higher bidders, you can register the domain.
Note that technically the initial Commit transaction can be executed directly against the smart contract before the grace period ends, and then people are submitting the Register transaction right at the moment the grace period ends instead of having to wait an extra minute. That’s also a problem that will be solved by correcting the Dutch auction starting price, because there will be no point in submitting an early Commit transaction. Unless someone really is willing to buy a domain for $100k, which is extremely unlikely (it’s far above what even the highest ENS name sales have gone for recently).