I have heard of cases where the sub chooses the punishment using some random method - a box with punishments written on paper slips, sub picks one out, maybe rolls a dice to see how many/how long. I have also heard of cases where there is a strict contract - if transgression A occurs, punishment 1 is incurred - and the Dom may sometimes ask the sub what level of punishment they think they deserve (works better if there is a strict and clear set of guidelines than a case where the Dom usually decides the punishment on a case by case basis). Of course, if the Dom does not agree with the sub they can change it...

The main problem with completely open choice is that a sub is likely to choose something they enjoy rather than something they hate. But then if the Dom has final veto this is irrelevant unless the sub is deliberately misleading them as to what they enjoy and do not enjoy (hard to do effectively).