With awk:
awk -F"\t" '$1!=""&&$2!=""&&$3!=""' file
Actually it is that simple.
awksplits the input at the field separator tab\tspecified with the-Fflag. This could also be omitted, when your content has no spaces in the fields.$1!=""&&...is a condition. When this condition is true,awksimply prints the line. You could also write'$1!=""&&$2!=""&&$3!=""{print}', but that's not necessary. Awks default behavior is to print the line, when no action is given. Here, that condition is true when the fields$1,$2and$3all are not empty, hence when the first 3 fields have a value.
To write to another file use this:
awk -F"\t" '$1!=""&&$2!=""&&$3!=""' input_file >output_file
Edit: With an undefined number of columns you could use this awk, it check every field in the line:
awk -F"\t" '{for(i=1;i<=NF;i++){if($i==""){next}}}1' file