It's also very clear that this policy undermines 3rd party candidates.
From the perspective of third-party candidates, all states have winner-take-all policies. It's just that two states, Nebraska and Maine, are winner-take-all by congressional district plus two statewide electors.
But I don't know that it matters too much for president. Yes, it means that parties with many voters across many electoral districts have little opportunity to get any electoral votes. But that doesn't really matter. Winning a few electoral votes doesn't mean anything. The Nebraska/Maine system just makes the geographic districts a bit smaller.
The real change that could help third-party candidates at the presidential level would be ranked voting. One of the chief arguments of the main parties against third-parties is that they can cause the less preferred of the two candidates to be elected. With ranked voting, minor candidate votes role over to the major candidates (except in systems like range and approval voting). Regardless, ranked voting of any flavor allows people to vote for third-party candidates with less worry about tactical voting giving a better result.
Now, geographic congressional districts in the House make things much harder for third parties there.
Anyway, to get back to the main thrust of the question.
What's the reason not all US states have proportional electoral college vote?
The majority of the voters of Maine voted for Hillary Clinton. But only three of the electoral votes went for Clinton and one went for Trump. The net margin is only two. That's less than the three electors provided for Trump by Wyoming. Maine's voters would have had more electoral impact if all the electoral votes had gone to one candidate.
Winner-take-all by congressional district may better represent the actual vote, but winner-take-all by state gives the state more influence. Most states pick influence over representation.
The majority of the people in each state are advantaged by the current method, giving them little reason to change. You would pick representation over influence, but most people don't. Especially since other states have picked influence over representation. If New York went proportional, it would reduce its influence to a net eleven votes or thereabouts. Compare to Florida's twenty-nine. So New York would have essentially made Florida two and a half times as impactful as New York.
Some Republicans in Pennsylvania actually tried this for the 2016 presidential election. It wouldn't have changed the result if they had succeeded, but it would have increased Clinton's electoral vote total and reduced Trump's. Note however that it was Democrats who opposed it. Because most of the time, Democrats do better under the winner-take-all system in Pennsylvania.
So to get your system passed, you would probably have to ally with people doing it for selfish reasons. And you'd need to provide them enough cover with your altruistic proposal to let them succeed.
Maine and Nebraska were never particularly influential in the presidential election. So they had less to lose and could concentrate on the gains to be made in representing the actual vote. Larger states have different incentives.
This is a fundamental weakness in democracy. By giving power to the majority, it gives the majority the power to hide or marginalize minority opinions. This was one reason that the United States originally operated under a limited government--to reduce that. Of course, the Great Depression made people feel that it was more important to have national action than principled limitation.
What would it take to change that policy for future elections?
Each state can pick its own policy for how electors are allocated. In most states, this would be as simple as passing a law.
If you really want to look for a policy though, I'd suggest the National Popular Vote. If that were in effect, the election would have gone to the popular vote winner (currently projected as Hillary Clinton). That just requires 105 more electoral votes worth of states to join to take effect.
More importantly, the National Popular Vote proposal doesn't make any changes until it has enough support to make a decisive change. So adopting it doesn't cause elections to be lost because it switches votes in between. And it's even more representative than any division of the electoral college would be, as it counts each vote individually and every one affects the vote. In any district-based system, a large number of votes don't affect the final result.
If you want to encourage third-parties, encourage ranked voting, especially proportional voting at the House level. For president, a national law for nonpartisan primaries with ranked voting and electoral fusion would have the maximum effect. So people could be in the Green party and vote for Jill Stein, Bernie Sanders, Hillary Clinton, Gary Johnson, etc. in that order. After Stein and possibly Sanders were eliminated, Clinton would have had the Green nomination as well as the Democratic nomination. People could vote for their first choice first. Given politics though, this might be more realistically achieved through a constitutional convention.
Proportional voting in the electoral college is more representative but less influential. Going by the national popular vote is even more representative and the way that they have the system set up, everyone switches at once. So no loss of influence.