If you go against fighters, Mg151/20 any day, if you go after heavy targets with low maneuvrability, mk108 anyday.
I don't think it was a question of preference, but a question of mission type and/or availability at geschwader level.
If you want some more personnal answers from real pilots, you have to dig it out by yourselve by reading books and watching old interviews on youtube.
Actually, their preference didn't count for much, in the Luftwaffe or any other air force.
The airplanes came equipped from the factory with armament and that's what stayed in the airplanes. The logistics chains supported the airplane as-delivered, not as-customized for local preferences. The pilots didn't get to choose their airplanes, either. They were assigned by the governments who purchased them. The airplanes were state property and were assigned as the headquarters saw fit.
As well-stated above, higher rates of fire were desired when going against fighters and more destructive rounds were desired when going against bombers. There was SOME selection of rounds available for any gun, and individual pilots could ask for whatever loadout they preferred. If the rounds were available, they could get them. Otherwise, they used what was available. Many times, they would choose something like two ball rounds, one HE, and maybe every three or four sets of these, add in a tracer. Usually, there were some 3 - 5 different rounds available for a 20 mm cannon. The problems was keeping them in supply.