PWM for a heated bed is a waste of time -- totally unnecessary. Same can be said for worrying about the heated bed temp varying +/-2C.
And actually Sailfish can and does do PWM for the print cooling fan. Your issue is that X3G, the command protocol, doesn't support PWM for print cooling fans. So, there's no way to tell Sailfish the PWM duty cycle to use. But late 7.7 and all 7.8 (beta) builds of Sailfish have an LCD UI menu setting to set a 0 - 100% fan power which is then used each time the fan is told the binary on/off supported by X3G.