Cook the potatoes in a pan of salted water for 15-20 minutes until just tender but not soft. Allow to cool, and then chill for at least a couple of hours or overnight is best.
Place the cream cheese in a bowl and beat to loosen, then fold in the other cheeses until just combined.
Peel the potatoes and coarsely grate. Put into a bowl and season generously with salt and pepper.
Heat a non-stick frying pan over a medium heat. Add the half of the oil and butter, swirling it around so that the butter is foaming. Add half of the potatoes, using the back of a spoon to press the mixture into the pan so there is a decent even layer covering the whole pan. Cook for 4 minutes or until the sides are starting to turn golden.
Reduce the heat to very low and dollop on the cheese filling, then spread out with a palette knife, leaving a small edge all around and then cover with the remaining potatoes, pressing them down and around as you to so that all the cheese is completely covered. Continue to cook for another 5-6 minutes until the rosti is nicely golden underneath.
Gently shake the pan to the rosti loosen, then carefully slide it on to a plate. Add the rest of the oil and butter to the pan and flip the rosti back into the pan, uncooked side down. Cook gently for another 8-10 minutes until the potatoes crisp and golden and the cheese is starting to ooze out. Slide back on to a plate and leave to sit for 5 minutes before cutting into wedges. Arrange on plates with some salad to serve.