Cambios, HiLo and the ATM's are your best bets for getting J's at the best rate.
Avoid most hotels, restaurants, stores, gift shops and supermarkets etc when you pay by US dollars and get J's back in change.