I need roost for my charizard and I don't have any idea where to get it
Violet City Gym. You Should Already have it.
The only place you can get it in Soul Silver is by defeating the Violet City gym leader, Falkner.
You can get it as a prize for defeating Falkner