I get the frustration - a 10-day window feels tight, especially when you factor in mail time across the country.
The short answer is: probably not illegal, but definitely annoying by design. Cable companies generally aren’t required to give you a specific number of days between when you receive a bill and when it’s due. The billing date and due date are usually set based on your service start date, not when the mail arrives.
That said, you have some options. First, if you’re cutting it close every month, you can call Spectrum and ask them to change your billing cycle to better align with when you can pay. They can often shift your due date by a week or two.
Second, consider setting up autopay or online bill pay through your bank. That way you’re not dependent on mail timing in either direction. Most banks let you schedule recurring payments, so you could set it to pay on the 10th every month automatically.
The California billing address thing is just how centralized billing works for big companies - it’s not really a factor in the timing. But I understand the principle of the matter when you’ve been a loyal customer for 8 years.