Yes, it works quite well. I already used this procedure in the Unreal Engine in the past.
I think I will create a convenience node that encapsulates this functionality, because the node tree gets quite large when you have to duplicate the setup for each texture type (diffuse, normal, specular, roughness etc.).
Use this forum for general user support and related questions.