Best test for checking element is in a boundary

The simple goal is to find of all the elements of a certain type which are inside a room/boundary and associate them respectively with a list of rooms. Let’s assume this is for querying a linked model, checking if a specific type of ceiling exists in specific rooms. Easy enough this has been solved many times before.

The curveball situation here I am facing is when certain boundaries aren’t setup right or rooms exist but do not take up the full extent of the space and volume they exist in. For example, sometimes rooms have a footprint of a tiny square within an enclosed space that is much larger. Therefore, I would like to solve a fail proof “best” test to make to check which elements are within a room.

An idea but still initial was to from the list of all instances of the specific ceiling > get the geometry > get centroid > LIST A (list of center points of all specified ceilings)

list of specific rooms > Element.Location to get room points > LIST B (list of location points of all specific rooms)

now I need to know how to test which of points from LIST A are in the rooms of LIST B. Maybe its testing the deconstructed XYZ coordinate differences or maybe its finding an intersection but again the tricky part is stuff like is Point in boundary cannot be used because sometimes the rooms are off to the side a little bit or have un realistic smaller footprints than what the actual room should be both in plan and volume. What creative test would ensure a find overriding these issues? Thanks!