Whether or not the offer sheet system is "broken" depends on whom one expects it to help.
If the POV is that the offer sheet system is designed to help RFA's who are essential to their teams, the offer sheet system "works". No team wants to see an essential RFA get an offer sheet, and there's no incentive for a team to ever let it get to that point. Even if it did, an offer sheet would simply be matched.
OTOH there are situations where teams have players that are extras in one way or another. If the offer sheet system is designed to give those players some measure of control about their own futures, the offer sheet system is a total failure.
I mean the Grubauer situation is the key kind of scenario. His trade value is predicated upon the fact that it will reflect poorly on him as a player if he fails to resign wherever he is traded. And that is why the offer sheet system is broken, because teams will follow an unwritten rule not to offer sheet such a player (i.e. collude) to make sure that such RFAs do not control their own future.
The fix would be to allow trading arbitration-eligible RFA's to refuse being traded after the conclusion of the season leading up to their free agency.