The Republicans do have good candidates but they loose in the primaries where the MAGA crowd is dominant, and the Republicans continue to have serious issues getting candidates that are not bat-poop crazy. With Trump as the front runner that has not been made any easier to recruit such candidates as they've actually have some personal integrity.
So the lack of good candidates is on the Republicans. The Democrats, on the other hand, don't have that problem (or at east very small).