the cPanel itself is not a file uploading client in the original sense. Though you can upload individual files, it isn't the best way to upload a site of many files. It can be done though.
You will need a FTP client to upload a site generically speaking. I say generically speaking because there are so many different types of site. But broadly speaking two classes of site: CMS or Developer.