I have searched high and low, and after a lot of digging, even through source of Babylonjs, unless I'm mistaken, there is no control over the intensity of specular reflections at all for the PBRMetallicRoughnessMaterial class.
To replicate, open up this playground example, set the colour to solid black (0,0,0), set metallic to 0, and comment out the metallicRoughnessTexture.
No matter what I do, I can't achieve a perfectly black material, unless I disable the environmentTexture. But if I add a light to the scene, it once again is not perfectly black because there's no control over it's specular highlight. A perfect black material is simply impossible.
I've tried looking for other properties to alter, anything to get rid of the reflection, and it's impossible.
It should be possible under a PBR workflow to create a perfectly black material, even if they aren't naturally occurring.
Could we possibly get a specularIntensity property added to this class? Ideally the metallicRoughnessTexture could use the third unused texture channel to grab that property as well so we have per texel control?