PoW is still superior to PoS for several reasons. First, PoW supplies a foundation external to the system. PoS is verification from within the system itself, and an attacker can inexpensively create alternate realities within the system. The legitimacy of these various realities is a function of how much stake one has in the system, but one's stake in the system only has meaning from within each of these realities. PoS thus involves a consequential amount of circular reasoning because reality within the system is not grounded in something external to the system.
This brings us to another reason PoW is still superior to PoS: relative simplicity. Attempts to create a secure PoS system necessitate complexities that make PoW look quite simple in comparison. The potential attack vectors of PoW are much better understood, whereas it is quite difficult to anticipate all the weaknesses of PoS. It may be that someday a theoretically and empirically secure PoS system exists. If so, Bitcoin could adopt such a system.
First, sophisticated smart contracts increase the potential failure and attack surface. Ethereum smart contracts have resulted in lost money multiple times because of developer mistakes.
Second, any smart contract that requires a trusted input for execution may as well not have any of its intelligence live on the blockchain. For example, consider a smart contract that made crop insurance payments conditional upon seasonal rainfall. The required trusted input would obviously be the amount of rainfall that occurred in a particular area. While it might seem trivial to find a reliable source of rainfall data, in practice there could be data entry mistakes or the source could be compromised. If a smart contract requires such a trusted input, there is little benefit to the if/then statement executing on the blockchain verses off. That is, the insurance company could just as well have a local smart contract that initiates the payment on the blockchain. If trusted inputs are involved, it is only logical for the smart contract to execute in a cheaper, controlled, and private environment. From there a simple blockchain transaction can be initiated. Putting the guts of the contract on the blockchain will merely incur unnecessary costs.