Hi,
As far as I know, the Point3dCollection is a resizable indexed data structure similar to List<Point3d>, so it doesn't provided any other search way than iterating the whole collection.
If you have several searches to do in the same big point collection, you can convert the Point3dCollection into a more efficient data structure (this supposes the Point3dcollection to be completely iterated one time for the conversion.
Some times ago, I tried to implement a Point3dTree structure base on a
kd-tree.
The discussion sarts
here and the last improved version
here.
The Point3dTree class provides a NearestNeighbour() method which returns the closest point.