The only difference I can see between PUT and PATCH is that PATCH is allowed to omit values. From a processing perspective, both commands seem to work the same. E.g. server asserted values must match. This just means that PUT has more reasons to fail than PATCH if server asserted values change in the interim.
Is the primary use case that a PATCH can be done (e.g. for a web form) where there is no prior GET before PATCH? While things may be different for the client making the change request, it doesn't seem to change the logic on the stream config server's logic.
Why not just have one of PUT or PATCH since the processing is the same? Note in SCIM, there are complex multi-valued objects (e.g. group members) where using a JSON Patch like request made sense. This made SCIM PATCH fundamentally different form PUT.