What are some problems with running a heating element in PWM mode?
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.
Turning it on and off using a zero-crossing SSR and a timebase of 10 or 30 seconds will not cause significant EMI (because it's switching at the zero crossings).
It may cause objectionable light flickering if the lights are on the same circuit, in the same way that laser printers and copiers sometimes cause flickering. It should not cause any noticeable effect on things that are not on the same circuit.
Dimmers and high frequency PWM can cause noise/EMI issues, but that's not a problem with zero crossing switched low frequency PWM.
Normal PWM is not suitable for switching heating elements. Simply because heating elements are very slow to respond to changes in current. It takes time for them to heat up, and cool down. Much much longer than things like motors or LEDs.
So you have to use a technique known as "Slow PWM", which is kind of like PWM in that you have an on/off duty cycle, and the ratio of one to the other defines the average current, but the period (or timebase) of the PWM is considerably longer.
Instead of switching at 500Hz, 1KHz, 20KHz, or whatever, you need to switch at fractions of Hz - for example 0.25Hz, or a timebase of 4 seconds. Longer timebases can also be used, such as the 30 seconds mentioned in Sphero's answer.
Also to be taken into account is the fact that even when a heating element is "off", it is still very hot and heating the area around it. Consequently the temperature of the thing you are trying to heat up continues to rise after turning the heating element off.
I myself have a home-made reflow oven with a pair of heating elements. These I am switching at no more than 1 second intervals, but I'm not using PWM for them. Instead I am using a predictive algorithm which tries to estimate what the temperature will continue to rise to after the current has been removed and remove the current at a suitable point before the target temperature has been reached. It utilizes the slope of the recorded temperatures over time, along with a manually determined heat extension constant.