BUFNO= is the number of buffers that will be used for buffering output for that data set. The example you coded appears to be for a sequential file. Increasing the number of buffers can improve performance if QSAM is used for writing to an output sequential file. Your example is for a SORTOUT DD, so the program writing to the file may be the SORT; SORT probably used BSAM or EXCP to write to this file, in which case SORT is probably doing intelligent buffer management and the BUFNO=29 may be ignored; if your program and not the SORT is writing to the file out of a SORT exit (e.g., the SORT E35 exit), then your program may be using QSAM and bumping up BUFNO can speed up the output process.
Here's a quote from IBM's DFSMS Using Data Sets manual:
In QSAM, the value of BUFNO determines how many buffers will be chained together before I/O is initiated...When enough buffers are available for reading ahead or writing behind, QSAM attempts to read or write those buffers in successive revolutions of the disk.
Default BUFNO for a sequential, non-SYSOUT file is five.
Basically, if you've got no virtual storage constraints, large BUFNO = goodness!