The US doesn't have a presidential election. Get that idea out of your head. Instead, all 51 states* have their own presidential elections on the same day.
This selects a set number of electors for each state. Those electors get together weeks later, and they decide who is President.
To be eligible to vote, you have to be a US citizen resident in one of those states. Most (all?) states have mechanisms for allowing residents who have to be out of town during the election to vote (eg: in Timbuktoo or even in Puerto Rico). However, you have to have a state to send that ballot to.
Puerto Rico, like other US territories such as Guam and American Samoa, is not a state. Therefore, they (and people resident there) are left out of that system. However, as full-blown US Citizens, they are allowed to move to any US state of their choosing and vote there.
This is fundamental to the design of the US Constitution, and can only be changed through the Amendment process. However, how a state picks its electors is up to each state. A state could, out of the goodness of its heart, "adopt" a territory and let its residents vote in that state's election. However, unless something like the National Popular Vote Interstate Compact is adopted, that seems quite unlikely, as it would dilute the power of the state's own voters for that state's set number of electors. However, if the compact goes into effect, there'd be no real downside to doing that, so we could then see US citizens resident in territories being allowed to vote for President.
* - Technically there are only 50 states, but residents of the stateless federal district of DC are allowed to vote there as well, via a special constitutional amendment that was passed in 1960.