Are you fully aware of the nature of stl files (coarsely faceted triangular planar surfaces)?
Can you request b-rep geometry from the source?
What do you want to do with these surfaces?
The program has a hard cap on the number of facets it is able to import from a .STL (I think it is 10,000). This is only my own conjecture but this is likely due to the import process being fairly intense for larger files making it so the process would not complete in a reasonable amount of time.
If you want to get around the facet cap on importing .STL you can take your .STL into MeshLab (MeshLab) and convert it into a 3D DXF first. The 3D DXF does not have a facet limit for imports. Importing the skeleton doesn't take long but recognizing faces for a model with 2 million facets could take longer (hours? days? I don't really know).
Use CloudCompare. Its free.
Cloud compare can read STL so you could import your scan (alternatively you could use the point cloud from the scanner) and your model exported from SolidWorks as an STL format. CloudCompare will only compare point clouds, but there is a sampling tool to add points on the surface of a mesh to use as a comparison object(s)