"Best" is a dubious term, and means different things to different people. Canon printers are my personal favorite because of a low cost to operate.
More often than not, poor quality print results are due to the printer driver, not the printer. Use of default photo print settings is the cause of your woes. Try different paper too, papers can vary hugely and often a given printer needs specific paper for best results. Likewise, your driver offers different paper settings when you print. I have a Canon that gets best photo results by using the "transparency" paper setting, but even with that it takes some adjustment.
In order to get top quality photo prints, you need to take a number of steps to calibrate your setup. Start with properly calibrating your monitor, so that what you see on screen is more or less correct to start with. Next, you need to match your printer's output to accurately reflect what you see on the screen. This will be different for the different papers, and you should set up "profiles" in your print driver for the paper you use. Lastly, look at the images themselves, and use image software (Photoshop) to get the best image you can.
Getting good quality prints with default printer settings is purely a matter of luck, and rarely works out well. There a number of sites that offer calibration images (color bars) that you can download for viewing and printing that will help you get close to optimal settings. But you can also create your own in any publishing program, save them as image files and print them, adjusting your print setting till the output matches the image on your screen. Like this. There's a wealth of info available online, suggest you do some reading and dive in. Be prepared to waste a lot of paper and ink in the process, but the results will be worth it and you will impress the wife with your magic powers. I also recommend that you not skimp on paper/ink in this process, make just one or 2 small adjustments, then print.