Stating the obvious I know, but why not just do it in VNAV. Works smoothly and efficiently (almost) every time unless of course ATC or other traffic is being unhelpful. Intervening with numerous pitch modes usually just increases workload with no real benefit. Just my 2 cent's worth