I've solved it by plotting the same graph multiple times on the same plot and highlighting on each new plot the edges. Here's the solution for the example. It is kind of annoying to plot the same graph multiple times. It would be great to have the highlight function to work without overriding. Or an alternative solution would be that highlight returns the plot and further modifications can be called on the new plot.
G = graph([1, 2, 1], [2, 3, 3]);
H = graph([1, 2],[2, 3]);
for I=1:10
h = plot(G);
highlight(h, H, 'EdgeColor', hsv2rgb([I/10, 1, 1]), 'LineWidth', 11-I);
hold on
end
hold off