I think the best way is to stop making life so comfortable for him. Stop cooking his meals, Stop cleaning up for him, Stop washing his clothes, Stop paying his bills and Stop taking on his problems. I would give him a definite date to move and stick by it. When the date comes and he has not moved, pack all of his things in boxes and take them to a storage place and give him the address and the key. Tell him how much the storage bill is a month and let him pay it. If you do not want to do that, one day while he is away from your house change his room into a den with no couch just chairs. He will soon get tired of sleeping in a chair or on the floor. If you don’t change your behavior, he will never change his and you will be making things very hard for the next women in his life.. Take care.