Just ran into this same question, and ended up using the python random.sample function directly to create a subsequence of rows from the original search cursor, e.g.
all_addresses = [row.getValue("FID") for row in arcpy.SearchCursor("survey_master_address_list_2018", fields="FID")]
import random
sample_set = random.sample(all_addresses, sample_size)
I tried a few times to just use row objects directly and found that there were weird reference issues, so it works best to pull a list of FID values, sample those, and then you can loop back through the layer using an UpdateCursor and check for `row.FID in sample_set` to then perform operations on the sample.