There's simple way to make atomic swap for smart-contact chain and any POW chain.
For example for Ether <> BTC:
Alice sends some Ether to the swap smart-contact which locks this money. While doing that she specify her BTC address and Bob's ethereal address.
Bob sends BTC to Alice.
Bob shows the proof of this BTC tx on to the smart-contract and unlocks his Ether.
Bob's proof is a signed transaction and merkel path which lead to the valid market root. So smart-contact should either believe that root is legit because it has sufficient level of work (number leading zeros, so it's very costly to fake it) or there's oracles who send time to time these BTC block's headers to the contact and takes the chain with larger PoW as the legit one.
The question is: how atomic swap can work when second chain is POS?