The direct flight from DCA to SJU is a great option. Unfortunately we have only had three-flight options until now, which meant staying overnight somewhere or arriving after 5:30, then crossing after dark in a small boat.