They can “steal” your accumulated sick leave, but they cannot steal any accrued vacation. They either have to let you take the time or pay you for it at your current hourly rate upon termination. That is Federal law (ERISA) and is not subject to modification by any state. If they didn’t pay you for accrued vacation upon termination, you have grounds for a federal lawsuit.
Has this changed since 2016? According to the lawyer I spoke with (as well as a state arbitrator) this was all subject to company policy. The arbitrator told me that is why Pennsylvania had one of the most generous unemployment payments in the country.