Red Bull's Max Verstappen won the Monaco Grand Prix, the sixth round of the 2023 Formula 1 World Championship, in a race shaken up by a mid-race downpour.