You'd think that it would be possible to know when the defrost mode would be needed, run it until the windshield is clear, then go back to cabin comfort. The computer could monitor inside and outside temperature, it is probably already doing this to maintain the battery.
Yes, that is absolutely possible. But I've never seen a car where it's been done properly (IMHO). You don't even need a windshield sensor of any kind; simply knowing the indoor/outdoor temperatures should be enough to come up with an effective profile (although humidity sensors could make it optimal).
The last two (non-Tesla) cars I've owned had fully automatic HVAC systems, but I still end up constantly tinkering with it. In the summer I have to dial the interior temperature control up to 24C or I freeze. In winter I have to dial it back to 20C or I cook. In the spring and fall, when the temperature varies all over the place, I'm constantly fiddling back and forth between these two settings. Why is there a 4C different in heating and cooling set points? Some hysteresis obviously makes sense but that is ridiculous.
Hitting the defrost button causes a full-blast gale on the windshield even if the engine is cold, which is dangerous (flash-freeze risk).
In my G37 they've thoughtfully designed the Auto mode to dial up the fan when the engine warms up. But you can't use the feature all winter because you have to manually set and adjust the defrost settings. Once it's warmed up you could hit the Auto button, but it redirects all the heat to your feet and the windshield fogs up again. They've made an attempt to make it automatic, but it's a fail. Clearly the people who designed this system have never driven in winter conditions.
Unfortunately, Tesla is located in California, so the engineers won't have personal experience in dealing with winter weather. Hopefully at least some of the people working on HVAC used to live in Detroit... but considering what I've seen of other American cars that's no guarantee. On the bright side, since everything is done through firmware, if they don't get it right maybe customer feedback will be effective.
Here's how I think it should work for our typically wet and cold winter conditions (assuming the car isn't pre-warmed):
1. On power-up put a light breeze on the windshield, to prevent the occupants' breath from fogging over the windshield.
2. Automatically turn on the rear windshield defogger (it has one, right???)
3. As soon as the heater warms up (even with an electric heater this takes a little time at -20C) put maximum air flow on the windshield. This will heat the windshield to remove external and internal frost.
4. If it's only moderately cold (near freezing), turn on the air conditioner (keeping heat on) to help dry the air. (Also always run A/C if recirculate is active.)
5. After 10-15 minutes (or when cabin reaches certain temperature) lower the air flow a bit and redirect it 50% feet 50% windshield.
6. After cabin stabilizes possibly put more air on feet, but never stop heating the windshield.
This would cover 95% of winter month conditions. There would be extreme days when you'd have to override it (e.g. ice storm) but that's expected.
Now if the car can preheat the cabin automatically, that will improve things a lot. But under very cold conditions there still needs to be some warm air on the windshield at all times.