Re: yum sync repos every time
yum -C will use cache only.
If you look in your /etc/yum.repos.d repo files, you will see that some have metadata_expire=7d meaning that some repos are only refreshed once a week.
I'm not sure which do and which don't. Probably updates refreshes each time. The standard fedora.repo though, only refreshes once a week.
Another thing you can do, depending upon your purpose (that is, if you're installing a particular package rather than checking for updates) is disable the non-used repos. For example, if you have fedora, fedora-updates rpmfusion, google, adobe and so on, you can always do something like
yum --disablerepo=* enablerepo=fedora install <my_package>
(You might have to use disablerepo=\*, I haven't done this in awhile.)