1, generally, the other party can't mistake the swift code. It's probably the problem of China Bank. I suggest you try other banks, such as Agricultural Bank of China and China Construction Bank. Perhaps commercial banks are more convenient (commercial banks, such as China Merchants Bank, CITIC, etc. )
2. US dollar remittance is the same as other currencies, and so is the swift code.
It is possible that the Bank of China is unwilling to remit money to you because of foreign exchange control.