I haven't had any issues with Arduino PWM speeds so far. I've only cooked two MOSFETs to date. The only real "cooking method" I’ve found is letting the supply voltage get too low. As the voltage drops, so does the gate drive level, and with the gate capacitance involved, there’s a point where low voltage and high switching speed combine; that’s when the magic smoke starts to appear.