Because the database system that is used by the client sucks. Future clients will have another system much much faster.
The client must download every block, the "sync" means it download all the blocks. 1 block is created after average 10 minutes. Now, to verify that each block is indeed ok and the header of it is ok with the previous one, it keep reading the blocks and checking things. If you notice your hard disk happily work when the client is syncing. Future clients will make this verify much much faster by optimizing how the client do this.
Anyway, yes, verifying the blocks is required to make sure the blockchain is the right one. Bitcoin is a p2p network after all, and it cannot trust anyone. It must be sure that the blockchain it download makes sense
But yes, making the process faster is a good idea.
Anyway there are lightweight clients who do not download the blockchain and simply use one on a server. This of course doesn't mean they can steal your bitcoin!