If devs can write very good code yes smartcontrats are safe. There are thousands of erc 20 tokens. Yes sometimes there are some bugs in some projects smartcontracts but that is not ethereums fault. If devs can create the best one without any bug that is very safe. You can be sure and you can feel safe. But surely smart contracts code should be bugless.