I'm trying to spatial join the average value of point data to the respective polygon... but the point are about 200 millions, but the process takes days to run. Any suggestions?
Each query, no matter what source, has a fixed setup cost. Try joining the polygons to the points instead -- instead of 200M point in polygon queries you'll have N polygon contains point queries. Either way, you'll have a possibility of point on polygon boundary (either two polys or none) as well as points not in any polygon.
If the points are spatially fragmented, the query time may still be significant. You could address this by using Sort (Data Management) to organize the features with a spatial sorting order (requires Advanced license) or by sorting on an attribute which is spatially correlated (zip code, map book tile,...)
Where is your data stored? File geodatabase, personal geodatabase, shapefile, SDE?
In a file geodb
Retrieving data ...