After trying to resolve this problem for a while, I finally get some idea about how this problem occurs.
The requirement for the SFR/SFR2 package is that the streambed elevation MUST be higher than the bottom of the cell which contains the reach.
There are two ways the streambed could be prepared or calculated within SFR package.
It could be either directly inputted or calculated from the segment which contains it.
For direct input, we can set the individual streambed top elevation.
In some special case, the slope of one reach could be negative when upstream cell elevation is lower than downstream cell, and we have to change the slope value.
For the other way, it is very possible that the MODFLOW interpolates the elevation with errors if special case occurs and there is no control on it.
So I will stick to the first way.