Craft 3 Image quality is terrible after asset upload from admin panel
Converting my comment(s) into an answer...

Make sure you are using the ImageMagick library to handle image manipulation (instead of the default GD library). It provides much better results.

Craft will "clean" every image that gets uploaded. This prevents anyone from accidentally (or intentionally) uploading malicious scripts to your site hidden within an image file.