Most modern PWM chips can do all that. But you are at the mercy of one manufacturer because other than for the MC34063, the TL494 and some older Unitrode chips there ain't no 2nd source.
The control loop is ok but: Nearly all modern designs use current mode control and that is a major challenge with a uC. There often is only
25nsec of time between warm & fuzzy and ... phoomp ... *BANG*Possibly doable with a PSoC but I haven't had time to try that yet.