The reason why performance can typically not be better with multiple views is this: There must be a predicate to limit the rows for a specific user. Whether the predicate is in a single view (using the special register CURRENT USER) or is hard-coded in separate views doesn't make a difference. The view is compiled into the query and, thus, the predicate always evaluated.
Where you can see performance differences is if you have skew in the data for different users, i.e. one user has lots of data and another only a few rows. If you were to hard-code the user name in the predicate (instead of referring to the CURRENT USER special register), DB2 can do a much better selectivity estimation for each user and it may choose to use a different access plan based on that more precise estimate. With the special register, DB2 doesn't know the actual value for cached, prepared statements and, thus, cannot exploit the additional details.