People forget that Lando was responsible for over 4 million people that inhabited Cloud City. They were a neutral entity in the war. They did not side with the alliance or the Empire. Sure the Empire could have taken the city...
BUT would the Empire had even gone to Cloud City if Han went? Cloud City was far from the Inner Core, and wasnt a strategic point for the Empire either.
Also, Lando didnt betray his friends Han and Chewie. His deal with Vader would save their lives, and keep the Empire from taking control of the City. All for someone Lando DID NOT know, nor care about. (Luke)
It isnt Lando's fault that Vader is such a dick, he "Altered the Deal" to many times, and was leaving Lando with less options everytime.
A traitor...NO. Lando did what he thought would SAVE his 2 friends.
Selfish...No. Lando had the lives of 4 million people depending on him.
Selfless...Yes. He cared more about the people he was responsible for than himself.
If anything, Lando was a good man, forced into a conflict he did not want to be in. And he had to do what he had to do in order to save lives, but that wasnt enough. Lando didnt invite Han to Cloud City, Han just showed up thinking everything would be cool.
Besides, Lando still rescued his friend from Jabba. Helped rescue Leia and Chewie and even Luke. Was made a General in the Alliance, and lead the assault on the Second Death Star destroying it. These are not the actions of a traitor of a selfish person. They are the actions of a good man, forced into a conflict he didnt want to be apart of.