Totally random sounds totally whacky, but also fun. I think I'd prefer a non-random setup but would play random.
Edit: If totally random is done, there should be an automatic assassin in case the evil team doesn't have the assassin. Merlin existing with possibly no assassin seems kind of powerful. I'd probably go Assassin > Mordred > Morgana > random Minion (> Oberon, but he'd never be reached)
Here are the official roles:
Merlin (knows evil)
Percival (knows Merlin)
Mordred (unkown to Merlin)
Morgana (appears as Merlin)
Oberon (unkown to evil, doesn't know evil)
Assassin (has final say in trying to kill Merlin)
Blue Lancelot/Red Lancelot (Blue Lancelot starts as Good, Red Lancelot starts as evil, they can switch through certain mechanics)
Then there's these official items/variants:
Lady of the Lake (person right of first leader gets this, after rounds 2, 3, 4, the token is given to another player and the recipient shows their loyalty (not role) to the old Lady)
Excalibur (given to someone by the leader, that person can use it to check and swap a played mission card)
Lancelot 1 (2 stick and 3 swaps, reveal one after rounds 2, 3, 4)
Lancelot 2 (2 stick and 5 swaps, cards for rounds 2, 3, 4 are revealed at the start)
Lancelot 3 (Lancelots see each other at the start of the game. Not ME with Lancelot 1 or 2)
Plot Cards (leader on 1st proposal of each mission gets 1-3 cards depending on player count and gives them out. They do things)
Finally there's one more unofficial role that I've heard is actually kind of interesting, which is:
Guinevere (knows Lancelots)
And of course there's the generic loyal servants and minions of mordred.