True. I do seem to remember there being some kind of problem with states making agreements with each other in this regard (i.e. it only takes effect if certain other states pass it), but I can't put my finger on it right now.
It’s always been up to the states. South Carolina didn’t hold it’s first presidential election until 1876. Prior to that their electoral votes had been assigned by the legislature alone. The winner take all has been, with few exceptions, the system for over 200 years and it’s worked well. I’m leery of changing it for whatever reason because we have no way of knowing just what the fallout will be.
U.S. Constitution, Article I, Section 10, 3rd paragraph:
No state shall, without the consent of Congress, lay any duty of tonnage, keep troops, or ships of war in time of peace, enter into any agreement or compact with another state, or with a foreign power, or engage in war, unless actually invaded, or in such imminent danger as will not admit of delay.
It seems to me that any state law that a given state will award it's electoral votes to the winners of the national popular vote that is dependent on other states passing such a law comprises an agreement or compact with other states and thus requires Congressional approval.
Article I, Section 10, paragraph 3 of the U.S. Constitution:
No state shall, without the consent of Congress, lay any duty of tonnage, keep troops, or ships of war in time of peace, enter into any agreement or compact with another state,...