I have a parcel feature class with +5M features. I want to spatially join it to a feature class of regions to check if the regional code matches that in the parcel data. I've tried using "have their centroids within", but there are many cases where multi-part parcel features do not join correctly because the centroid is outside the features. Is there a way to spatially join with centroids inside features? The only other place I've seen this is when using Feature to Point, and checking "Inside"
You've pretty much answered your own question. There are a couple different types of centroids: the geometric centroid (which is not necessarily within the polygon) and the center of mass. The spatial join and select by location tool are only capable of using the former. The only way to get the center of mass centroid, using the default tools, is the Feature to Point tool checking the "Inside" box.
So what you can do, create a unique ID for your parcels and convert to point, spatial join your point to the regions, then join your points by attribute back to the original parcels.