Car roofs don't work well. The Ioniq 5 had them as an option. It could only charge a few miles daily, and doing the math it would never pay for itself over the lifetime of the car.
Roof panels on cars also tend to get damaged from rocks and pebbles just like windscreens, and when a solar panel gets a bad section it affects the whole panel.
Parking lot canopies is a better placement than on the cars. Not only do they produce electricity they, also keep the cars shaded so less energy is used on air conditioning.
Anyway for small scale personal use, I think the balcony panels are the best option in the places where it's legal and possible.