So, I solved my issue and realized that it's not correct to call it issue, because it's maybe a SolidWorks option. I realized that I can add/edit appearance by a part level or by a component level, I just removed all component level appearances from the subassembly and I received the original part colors. :)
If you change the color of faces of parts, they will still appear as the default color in assemblies they are imported into. If you change the part color in its properties, it should retain their appearance.
Do u mean changing all the appearances in the subassembly in the large assembly???
You can do it that way. However, if you need parts to be those colors in a future project, you would have to change them again. Its better to do each individual part within sub-assemblies to guarantee all parts will retain the properties in any case.