SFML should follow what other libraries already do with their _LIBRARIES variable in CMake... just specify the libraries actually provided by SFML. Nobody tosses all of their dependencies into their _LIBRARIES variable, otherwise you would see OpenGL and the rest of the operating system libraries in scripts like FindGLUT.cmake as an example. I'm guessing that it is convention and already expected that the user will link to the correct operating system libraries on their own.
When SFML looks for it's dependency packages, on Linux (and OS X?) it works perfectly, since everything is installed in a central location and whatever the user would want to use, they would have already installed as a package anyway, so the issue of the user wanting to use their own version of whatever library doesn't exist.
The problem on Windows is that CMake has no idea where the user might be hiding their libraries, so without explicitly asking or getting the information from a special environment variable, it has to assume there is none available. In this case, if the user wanted to use their own version of a library, they would simply specify it to CMake using the provided variables when configuring SFML.
If a user is dumb enough to use 2 different library versions, or let SFML use the "default" one and then use their own in their project, then they really can't complain that it won't work. On the other hand, since some distributions of MinGW come with e.g. GLEW and freetype installed into the compiler's directories already, SFML should try harder to use those instead of it's own. I have one of these distributions, and the Find scripts still prefer to use the libraries provided with SFML instead of the ones in my compiler folders. Good thing I don't use them in my projects... otherwise who knows what would happen.