Делать это надо вовремя - то есть не слишком рано, но и не слишком поздно.
Что значит "рано"? Это до 20 декабря точно. А обычно и до 24-25-го вообще, как я думаю. Или, по другой "шкале", до момента, когда начнётся последняя предновогодняя неделя. Но и то уже крайность, потому что слишком раннее поздравление - и неуместно, и может быть воспринято (обоснованно) как попытка отделаться от человека чем-то дежурным.
В идеале же - где-то с 27-28 числа уже стоит поздравлять с наступающим тех, с кем не увидитесь более в уходящем году. Например, коллег по работе или других людей, с кем точно не сможете встретиться из-за их (или ваших) дел.
Поздравлять друзей и знакомых, которым можете позвонить, выслать электронное письмо или написать в мессенджере/через СМС, желательно 30 декабря или 31-го рано утром, до полудня. Оттягивать это до самого последнего момента не стоит, к 10 вечера и позднее поздравлений вряд ли уже кто-то ждёт особо, если их раньше не сделали, могут ведь и обидеться крепко.
Разумеется, из любого правила есть и исключения. Например, если вы точно отправляетесь задолго до праздника туда, где не сможете воспользоваться хоть какой-то связью надёжно (вдруг этот текст читают полярники, подводники или прочие геологи с пограничниками:)) - можете хоть за несколько месяцев заранее поздравить. Тоже проявив заботу и внимание...