What is the easiest/most efficient way to check if a player is in an area?

If you want the easiest way, I advise ZonePlus module: ZonePlus v3.2.0 | Construct dynamic zones and effectively determine players and parts within their boundaries

For your case, you can use it like this:

local Zone = require(game:GetService("ReplicatedStorage").Zone)
local container = workspace.YourModel
local zone1 = Zone.new(container)

zone1.playerEntered:Connect(function(player)
    -- do something
end)


zone1.playerExited:Connect(function(player)
    -- do something
end)