Compiler generates the same code for both the versions. But the 1st version is better in maintainability aspect if you compare just with the 2nd version.
The code exits when the return statement is encountered; so there is no use of keeping else in the upcoming if. It makes the developer understand the code better.
Also, if this is the literal code then you can still shrink as,
bool Test(SampleType sample)
{
return (SubTest1(sample) && SubTest2(sample) && SubTest3(sample));
}