If you're going for a native touch-first experience. If you're trying to emulate actual PC use (either something like this or an RDP-like experience) I've found letting the screen act as a traditional touchpad which controls a cursor is a far more usable approach. Honestly, better than a lot of actual touchpads out there...

In either case the software keyboard popping in and out of existence remains the much more frustrating part of the experience. Docking or bluetooth keyboard/mouse are often required to be practical because of this.