I guess this is assuming every SlotRoleHandler only handles exactly one content model. IMO that's a bad idea, see Topic:Ucdj20quoylnprcf.
Topic on User talk:Daniel Kinzler (WMDE)/MCR-SlotRoleHandler
I think that for a given slot on a given page, only one content model should be possible. The same slot on different pages may use different models, but the only good use case I can see for this is the main slot.
I'm ok with turning getContentModel() into isContentModelSupported( $model ) though.
That would mean that for things where the content model is somewhat flexible (e.g. wikicode vs. HTML vs. some other markup language), changing the content model would require moving it to another slot and thus breaking diffs. In some cases that's probably a good thing (wikicode to HTML; although even then not breaking visual diffs would be nice), in other cases probably not (wikicode to markdown).