Although you suggest trying this, I found that replacing patches has changed a lot.
My version of your example, first without sharing:
t=[1:100]; y=t.^2; cov=t.^2; t2=[1:100]; y2=t2.^2.05; cov2=t2.^2; figure t = t(:); y = y(:); cov = cov(:); a = ones(size(t)); t2 = t2(:); y2 = y2(:); cov2 = cov2(:); a = ones(size(t2)); regions(1) = patch('XData', [t; t(end:-1:1)], ... 'YData', [y + 2*cov; y(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'r'); regions(2) = patch('XData', [t; t(end:-1:1)], ... 'YData', [y - 2*cov; y(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'r'); ls = line('XData', t, 'YData', y,'Linewidth',1.5); regions(3) = patch('XData', [t2; t2(end:-1:1)], ... 'YData', [y2 - 2*cov2; y2(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'b'); ls = line('XData', t2, 'YData', y2,'Linewidth',1.5); regions(4) = patch('XData', [t2; t2(end:-1:1)], ... 'YData', [y2 + 2*cov2; y2(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'b');

then with replacement:
regions(1) = patch('XData', [t; t(end:-1:1)], ... 'YData', [y + 2*cov; y(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'r'); regions(3) = patch('XData', [t2; t2(end:-1:1)], ... 'YData', [y2 - 2*cov2; y2(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'b'); ls = line('XData', t2, 'YData', y2,'Linewidth',1.5); regions(2) = patch('XData', [t; t(end:-1:1)], ... 'YData', [y - 2*cov; y(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'r'); ls = line('XData', t, 'YData', y,'Linewidth',1.5); regions(4) = patch('XData', [t2; t2(end:-1:1)], ... 'YData', [y2 + 2*cov2; y2(end:-1:1)], ... 'FaceVertexAlphaData', [0*a; a], ... 'FaceAlpha', 'interp', 'EdgeColor', 'none', 'FaceColor', 'b');

Great effect, I have not seen this before in Matlab.