Remove the coil packs and plugs, crank the engine to purge any water from the cylinders. Replace the plugs. Pull the air intake, and dry off the throttle body, map sensor, and piping. Im guessing he sucked water up into the intake, they are pretty low on those.
If water didnt get into the engine in that matter, it may have gotten into something else, like a controller or module under the hood, cant remember where they are on the 330i....without looking at one. Send it to the Beemer dealer and call the insurance company at that point.