Bluetooth is compressed, CarPlay is a direct connection and sound quality will be better.
Personally, I don't like either solution. BT for the above-stated reason, and CarPlay is just a hassle to screw around with every time I enter/exit the car.
My solution? 2 options, I'm using both. First, a dedicated older iPod Nano in the front compartment, permanently connected. My entire library is loaded on it. No screwing around connecting my phone every time I get in the car, direct connection to my music with no further compression.
Option 2, SD card. Lots of ways to load music to one, I took the easy route of simply copying my entire iTunes library to one. Works flawlessly, including album art. Only thing I haven't figured out yet is getting playlists to work, but I'll get that solved. Once done I'll probably pull the iPod and just use SD card as lone solution. Both are cost-effective, particularly the SD card route since they're SO cheap nowadays. Good luck!