По вопросу сложно сказать об оптимизации. Нужно код посмотреть и откуда берутся эти полигоны, может у вас AJAX долго проходит, или из JSON получайте неэффективно информацию (допустим оформляйте цветами полигоны).
Если информации много, эффективнее передавать её тайлами.
Есть ли готовое решение для определения принадлежности точки к полигону
Есть. На java, python, c можно на js поискать. Есть решения на стороне БД.