I would like to think that our integrated image host is better than external image hosts. Unfortunately pictrs (the app which uploads/serves the images) doesn't have the ability to run multiple instances yet. That is coming soon and should help a lot with these.
I would beg to differ on federating "better" but I might be biased 😊.
If you use a outside image host, your host instance doesn't need to process the image for federation, it just federates a link some instance admins just set up a file hoster for example.
I also prefer hosting externally and only linking the image directly in posts, avoids having the instance store additional files and has been pretty reliable and fast to me. I'd say something like catbox.moe or postimg.cc are good starting points -- from a general user perspective.
I also had an annoying experience where an instance purged their images and it resulted in me having to go back to my posts to update their files, since then I'm a firm believer in using external links instead, and this is never an issue in those cases.