How is possible Moro can defeat super saiyan blues but Majin Buu can fight him?
Majin Buu  contains with in him the Grand Supreme Kai. The Grand Supreme Kai is, within his universe, second only in strength to the god of destruction (or possibly even stronger, remember Whis, a member of the same race, is said to be much stronger then Berus).It's also worth noting that the reason the supreme Kai lost is not because kid/pure Buu was stronger, he just absorbed him before he could react (he was actually holding his own very well). The resulting fat buu is only weaker then pure Buu because fat Buu was lazy and childish. 
We also don't know how strong Moro is in comparison to a fully powered super sayian blue: remember he stole their energy and weakened them. The fan base have suggested he is somewhere between super sayian 3 and god. SSJ3 Goku was only slightly stronger then Fat Buu and could not defeat him due to Buu's unlimited stamina. A powered up Fat Buu could easily contend with a SSJ3.5 Lv enemy. 

So now we have the second strongest being in the universe stored within fat buu staring to awaken again from within fat Buu. This is why he was able to beat Moro: He's still the Supreme Grand Kai. He was the sole controller/guardian and overseer of universe 7.