Which is the best workflow to follow when texturing and importing textures from Substance Painter?
You should use metallic-roughness, as the Principled BSDF is itself a metallic-roughness shader.

When in metallic-roughness mode, Substance's viewport shader is itself another implementation of the Disney Principled Shader, same as the Principled BSDF node in Cycles. By using metallic-roughness setups, you ensure the result in Cycles should match exactly. Remember that metallic, roughness, and normal maps should be set to "non color data" in Cycles, Base Color can be left as "color". See this image for the correct node layout:



If you want to match Substance, do not alter any other settings in the Principled BSDF node from their defaults, as those defaults are set to match other implementations. Of course, differences from changing those settings might look BETTER, but strictly speaking they won't match Substance.

Note that there are often some subtle differences from the OpenGL viewport in Substance and raytracing-based engine such as Cycles. The iRay viewport in Substance is also raytracing-based and can be a good way to check for surprises like this. If you find your shader looks different in the regular (OpenGL) vs iRay views in Substance, you should assume the result in Cycles will look more like the iRay version.

If you are using the node wrangler addon (bundled with Blender) it has a button in the node editor sidebar under Node Wrangler > Add Principled Setup that will automatically import the textures for you. Simply select the Principled BSDF node, click the "Add Principled Setup" button, select all your maps in the file browser, and click ok. It will import, connect, and label everything for you.