Creating a smooth surface from huge number of vertices
A solution is to use meshlab to generate a surface then import the stl into blender. This is how the image below was generated from the .ply file.





Detailed Steps


Open Meshlab (get from http://meshlab.sourceforge.net/ )
Import the .ply file (File>Import Mesh ...)
Select all points ( Filers>Selection>Select all )
Compute normal ( Filters>Normals, Curvature, and Orientation> Compute normal for point set)
Create a surfaces ( Filters>Remeshing, Simplification, and Reconstruction>Surface Reconstruction: Poisson )
Export Mesh as an .stl file ( File>Export Mesh... )
Import the .stl into Blender.


You should be able to automate the meshlab step using scripts. See http://www.andrewhazelden.com/blog/2012/04/automate-your-meshlab-workflow-with-mlx-filter-scripts/ .
 You can automate the process from within Blender using Python to call the meshlab scripts.



A tutorial on this is at http://fabacademy.org/archives/2014/tutorials/pointcloudToSTL.html