It would be WAY faster to utilize a direct MYSQL update on the database, using phpMydmin or workbench, rather than using PAL. PAL would take forever, 1 second per iteration. I would not recommend using (PAL.LockExecution), as this could freeze your SAM while executing if you have a large number of tracks.
UPDATE songlist SET title = UPPER(title), artist = UPPER(artist)
If you don't want your sweepers, station IDs etc affected use the where clause to limit the update to songtype ='S'
UPDATE songlist SET title = UPPER(title), artist = UPPER(artist) where songtype = 'S'
HIGHLY recommend backing up the database before attempting mass updates.