See if this approach works for you. In the example below, I use the arcpy.da.UpdateCursor with a sql clause to ORDER By (sort) by PARCEL which is a text field:
import arcpy
fc = r'C:\Temp\Junk.gdb\points'
id = 0
with arcpy.da.UpdateCursor(fc,'SortID', sql_clause=(None, 'ORDER BY PARCEL')) as cursor:
for row in cursor:
id+=1
row[0] = id
cursor.updateRow(row)
Here is a screen capture of my results:

That should just about do it....