How about just:
var s = "Jan 24, 2019 12:00 PST";
var d = new Date(s);
var m = moment(d).tz("America/New_York");
console.log(m.format("MMM DD Y, hh:mm z"));
The only worry here is where you got that string. That particular string works in every browser, as far as I know. But the Date constructor doesn't seem to support named offsets like "PST" outside the US, so if you got like CEST for central European time, that won't quite work. In that case, just chop off the PST and parse it with Moment's string parsing functions. Since you already know the string was generated in the same zone that the user's in, you don't need it anyway.
As an alternative to all of that, avoid needing that string entirely and either get the date in ISO from the source server, or if the string came from some other piece of Javascript, just get that Date object and pass it directly to Moment.