Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! X
It is not fixed that it will lie on face, edge or surface but it is sure that it is on the part somewhere.
ProGeometryAtPointFind - you have already mentioned it in another topic.
If it is not laying on any surface or edge, you can parse the model and use ProSurfaceParamEval or ProEdgeParamEval - it will tell you the closest point on the given surface or edge, so you can calculate its distance.