Heating elements are designed to handle the mechanical stresses from thermal cycling. Turning them on and off many times doesn't usually cause problems.
One thing to consider is the time constant from applying power to a heating element to the temperature changing in whatever is being heated. Most likely this is much longer than a power line cycle. This means the PWM can be quite slow but still be much faster than the system can respond. Often you can arrange to have whole power line half-cycles either fully on or fully off.
Look thru solid state relay offerings, and you will see there are two basic types. One switches immediately according to the input signal, and the other switches at the next power line zero crossing. You want the latter. Switching at a zero crossing greatly reduces radiated and conducted noise.
I did a project once where a PIC 18 had to control 24 heaters driven from the power line and controlled by solid state relays. For each relay, you only need to calculate whether it needs to be on this power line half-cycle. That takes very little computation, and multiple heaters can easily be managed by a small microcontroller like a PIC 18.
Instead of a traditional PWM with a fixed period and variable duty cycle, I used a Bresenham algorithm to decide the on/off state each half-cycle. The rest of the system provided a 0-255 value for each heater to indicate how hard it should be driven, with 0 being full off and 255 being full on. For each heater, keep a 8 bit accumulator. Each cycle (of the algorithm, which is each 1/2 power line cycle), add in the 0-255 desired drive level. If no carry, then keep the heater off for that cycle. On carry, turn the heater on and subtract 255 from the byte, which is the same as adding 1. That's it. Yes it really is that easy.
The worst case frequency content is still 255 cycles, as it would be with PWM, but intermediate values have less low frequency content due to the inherent dithering nature of Bresenham's algorithm. In any case, assuming 50 Hz power line frequency, the pattern will repeat every 2.6 seconds regardless of which method you use.